zoukankan      html  css  js  c++  java
  • 天堂开发笔记(二)

    开发记录

    角色创建

    完成数据库的插入
    客户端的正常显示

    Object

    天堂对象抽象:

    属性:

    • 对象资源唯一标识
    • 对象所在地图
    • 对象在地图内的位置

    方法:

    • 更新画面内的对象
    • 计算与其他对象的距离
    • 响应其他对象的对话而采取的行为
    • 响应其他对象而采取的行为

    需要实现:

    • 全局唯一标识的获取:IdFactory.py
    • 地图数据结构的表示和读取:Map.py、V1Map.py、WorldMap.py、MapReader.py、TextMapReader.py、MapsTable.py
    • 位置的描述(地图 + 地图内坐标):Location.py

    Character(Object)

    天堂人物对象抽象:

    属性:

    • 姓名
    • 经验
    • 等级
    • 血魔
    • 属性
    • 抗性(物理防御、魔法防御、属性防御)

    方法:

    • 计算人物的血魔、抗性和经验

    需要实现:

    • 人物对象的描述:Object.py、Character.py

    PcInstance(Character)

    天堂玩家抽象:

    属性:

    • 职业
    • 装备槽(延后实现)

    方法:

    • 计算不同职业血魔、抗性
    • 装备武器/防具,并更新装备槽(延后实现)

    需要实现:

    • 玩家对象的描述:PcInstance.py、Karma.py
    • 游戏角色的创建、更新、加载、删除和存储(characters表操作):CharacterTable.py、MySqlCharacterStorage.py、Karma.py

    创建角色

    DEBUG:Receive Packet:
    0000: 3A 32 33 32 00 01 00 14 0C 0E 09 0C 08 39 F0 37    :232.........9.7
    
    INFO:account exists
    DEBUG:Send Packet:
    0000: 1D 02 00 00 00 00 00 00 00 00 00 00                     ............
    
    INFO:charname: 232 classId: 61
    DEBUG:Send Packet:
    0000: 62 32 33 32 00 00 01 00 00 00 10 00 01 00 00 01    b232............
    0010: 14 0C 0E 09 0C 08 00 80 82 2C 58                         .........,X
    

    客户端发起C_OPCODE_NEWCHAR = 58 # 請求創造角色(3A)请求,服务器返回S_OPCODE_NEWCHARWRONG = 29 # 角色創造例外(1D)S_OPCODE_NEWCHARPACK = 98 # 角色創造成功(62)

    相关文件:S_MPUpdate.py、S_HPUpdate.py、S_CharAmount.py、S_CharCreateStatus、S_CharPacks.py、C_CreateChar.py

    时间的转换

    import time
    from datetime import datetime
    
    def datetime2timestamp(dt):
        return time.mktime(dt.timetuple())
    
    def timestamp2datetime(ts):
        return datetime.fromtimestamp(ts)
    
    # 获取当前时间
    dt = datetime.now()
    # 获取当前时间的年月日
    dt.date()
    
  • 相关阅读:
    04_面向对象之多态
    03_面向对象之继承
    02_对象和对象封装
    01_什么是类
    01_函数对象
    python_IO操作之B模式介绍
    python_IO操作之rwa模式介绍
    python之初始IO操作01
    Flink基础(十七): Flink CEP 简介
    解决:UserBehavior is already defined as case class UserBehavior
  • 原文地址:https://www.cnblogs.com/silvermagic/p/7666357.html
Copyright © 2011-2022 走看看