Skip to content

XiaoyuWang-BUPT/Pokemon

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pokemon

2016 BUPT C++ Programming Experiment -- Pokemon


Change Log

v0.1.0 (2016/10/9)

  • 完成Pokemon基类
  • TODO
    • 派生类覆盖虚函数

    • 单元测试

v0.1.1 (2016/10/10)

  • 改善构造函数
  • 初步完成工厂模式
  • 优化了随机产生属性的方法
  • TODO
    • 特殊攻击函数加血bug修复
    • 用户自定义小精灵名字 当前无名字属性
    • 单元测试
    • 派生类的Evolution函数

v0.1.2 (2016/10/11)

  • 特殊攻击函数封装 加血bug修复
  • 输出小精灵状态
  • 修复细节bug
  • 将Evolution函数改为Pokemon类的成员函数
  • TODO
    • 放弃自定义小精灵名字
    • 单元测试

v0.1.3 (2016/10/12)

  • 修复升级和进化bug
  • 完成单元测试
  • 注意: Create口袋妖怪时应将Kind和Level匹配才可以成功创建

v0.1.4 (2016/10/13)

  • 确定C/S框架 原源程序在Server端运行 将QWidget程序改为QConsole程序
  • 存在自定义小精灵名字的方法
  • TODO
    • server端数据库
    • server client 间 socket通信

v0.1.5 (2016/10/14)

  • 创建Player类
  • Client端窗口切换
  • 使用SQLite3维护数据库
  • TODO
    • 学习ORMLite动态创建数据库
    • server client间 socket通信

v0.1.6 (2016/10/21)

  • 完成PoorORMLite 添加PoorORMLite.hserver

  • TODO

    • 创建与Class Player对应的Struct Player存储Player 信息 Primary Keyname
    • 创建与Class Pokemon对应的Struct Pokemon存储Pokemon信息 Primary Keyname 并存储owner作为condition: Where

v0.1.7 (2016/11/19)

  • Player测试创建新玩家对象并输出信息

  • 数据库小精灵实例化 传struct PokemonInfo

  • 捕捉精灵 对战精灵实例化 传kind level name

  • 玩家实例化 传struct PlayerInfo新玩家新信息 老玩家从数据库获取

  • TODO

    • PlayerPokemon 与数据库链接测试
    • Socket ServerSocket Client分别添加至project serverproject client
    • 添加session.h session.cpp测试会话

v0.1.8 (2016/11/20)

  • Player与数据库测试连接
  • PoorORMLite修复bug(insert语句不正确)
  • 新增Helper.h用于消除未知的头文件包含问题
  • TODO
    • Pokemon 与数据库链接测试
    • Socket ServerSocket Client分别添加至project serverproject client
    • 添加session.h session.cpp测试会话

v0.1.9 (2016/11/21)

  • Pokemon与数据库测试连接
  • PoorORMLite修复bug(insert语句sqlCmdwhere前无空格 导致数字无法得到识别 但字符串可以识别)
    • Socket ServerSocket Client分别添加至project serverproject client
    • 添加session.h session.cpp测试会话

v0.2.0 (2016/11/23)

  • PokemonServer初步完成Sign In登录 Sign On注册界面及跳转
  • TODO
    • Socket ServerSocket Client分别添加至project serverproject client
    • 添加session.h session.cpp测试会话

v0.2.1 (2016/12/1)

  • 添加Socket ServerSocket Client到项目
  • 可实现登录 操作即 sign in ,客户端发送用户名及密码,服务器在数据库查询后返回查询结果
  • 添加json.hpp实现信息传输的序列化和反序列化
  • TODO
    • Server/Client创建Helper Class用于取代extern,通过传Helper Object实现面向对象地在多个.cpp中访问值
    • 规范通信协议
    • 完善unit test

v0.2.2 (2016/12/2)

  • 创建Helper 消除extern

  • 消除了while(true),降低了CPU占用率

  • PokemonClient / main.cpp关键改动

    // - socketClient->Cleanup()
    // - delete socketClient;
    // Instead,we call Cleanup() in ~socketClient() && we delete socketClient in ~SignIn()
  • TODO

    • 对方通信协议
    • 完善Unit test
    • Client端优化过程损失了被呼叫功能 (创建线程recv)

v0.2.3 (2016/12/2)

  • 完善Unit test测试pokemon的属性
  • 调整玩家对战机制,玩家发起对战请求,服务器在其他请求对战的用户中选择建立对战
  • 被呼叫功能:只在主页查看聊天信息。进入主界面时创建CalledThread线程用于recv,接受到后显示。玩家发送聊天信息,则同普通发送行为

v0.2.4 (2016/12/3)

  • client端删除冗余的Helper Class
  • CalledThread加入socketClient用于recv由于目前尚未在server端实现call功能故CalledThread处于阻塞在recv阶段

v0.2.5 (2016/12/3)

  • 实现注册功能
  • 实现焦点高亮
  • 支持Key-TabKey_Enter / Key_Return 操作

v0.2.6 (2016/12/4)

  • 美化UI

v0.2.7 (2016/12/4)

  • server端增加onlinePlayer数组存储在线用户的namerank
  • client:MainPage统一CalledThreadFuncRecvThreadFuncRecvThreadFunc并将线程初始化置于RecvSwitch中,即切换到主界面即开始阻塞式接受,根据接受内容调用负责显示的功能函数

v0.2.8 (2016/12/5)

  • client端加入Hunt界面用于捕捉小精灵

v0.2.9 (2016/12/6)

  • 完成捕捉动画并传送捕捉到的精灵信息
  • TODO
    • 完善服务器接受到捕捉信息后更新数据操作

v0.3.0 (2016/12/7)

  • 完成捕捉信息的传送和数据库更新操作

v0.3.1 (2016/12/8)

  • 完成在线用户列表 增加点赞功能
  • TODO
    • 查看在线用户的宠物小精灵

v0.3.2 (2016/12/8)

  • 完成查看当前玩家信息

v0.3.3 (2016/12/9)

  • 完成查看排位信息
  • TODO
    • 查看宠物小精灵

v0.3.4 (2016/12/9)

  • 修复捕捉结束返回主界面查看信息延迟的bug
  • 可查看玩家拥有的不限于背包中的小精灵
  • 可查看玩家胜率
  • 添加显示版本信息显示 链接至GitHub
    • 查看玩家自己的背包和仓库

v0.3.5 (2016/12/10)

  • 玩家可查看自己背包中的宠物小精灵
  • 修正 '关闭rankonline player窗口时,pokemon table子窗口不关闭' 的bug

v0.3.6 (2016/12/10)

  • 玩家可查看仓库中的小精灵
  • 增加三种成就(神奇宝贝训练家,斗技达人,常胜将军)
  • TODO
    • 将背包中的小精灵放回仓库, 将仓库中的小精灵放入背包

v0.3.7 (2016/12/11)

  • 玩家可将小精灵放回仓库,可将小精灵放入背包
  • 修复游戏时间显示超长的bug
  • TODO
    • 对战

v0.3.8 (2016/12/11)

  • 添加选择对战功能
  • TODO
    • 对战

v0.3.9 (2016/12/12)

  • server添加战斗准备部分,创建战斗的实例对象
  • TODO
    • 对战

v0.4.0 (2016/12/13)

  • 服务器实现普通攻击逻辑
  • TODO
    • 服务器特殊攻击
    • 客户端显示

v0.4.1 (2016/12/14)

  • 初步完成服务器端对战功能
  • 修复了将最末位小精灵"放回仓库"和"放入背包"崩溃的bug
  • TODO
    • 客户端显示对战

v0.4.2 (2016/12/15)

  • 初步完成显示对战
  • TODO
    • bug攻击时血条有情况不减
    • bug对局结束升级的情况下,立刻再次战斗,程序崩溃
    • bug对局进行时返回,再次对战时继续上一次对战

v0.4.3 (2016/12/15)

  • 对局不结束,不可返回主界面
  • 增加受到减益效果时的画面
  • TODO
    • 血条有时不减少,卡顿
    • 对局结束升级,立刻再次战斗,程序崩溃
    • 有时对局进行中画面静止

v0.4.4 (2016/12/15)

  • 血条改为widget实现,血条减少动画流畅
  • 修复切换小精灵时血条为空的bug
  • 修复服务器端同时完成行动条冲突的bug
  • TODO
    • 修复对局结束升级,立即再次战斗,程序崩溃的bug
    • 战斗结束后显示小精灵获得的经验、升级与否、进化与否
    • 修复用户胜率只能为0,1的bug(整型运算的舍去处理造成)

v0.4.5 (2016/12/16)

  • 修复对局结束升级,立即再次战斗,程序崩溃的bug
  • 修复用户胜率0,1的bug
  • TODO
    • 回合过多的情况下,服务器发送对战信息失败
    • 战斗结束后显示小精灵获得的经验、升级与否、进化与否

v0.4.6 (2016/12/16)

  • 修复回合过多,服务器发送对战信息失败,原因:小精灵满级后的升级条件不合理
  • TODO
    • 战斗结束后显示小精灵获得的经验、升级与否、进化与否

v0.4.7 (2016/12/16)

  • 战斗结束后显示小精灵获得的经验,进化与否
  • 战斗过程中显示损失血量
  • TODO
    • 新玩家注册选择御三家

v0.4.8 (2016/12/17)

  • 新玩家注册选择御三家
  • 玩家已经登陆,则不能再次登录

v0.4.9 (2016/12/17)

  • 添加36种小精灵*.png和12种初态小精灵.gif*资源文件

v0.5.0 (2016/12/20)

  • 修改UI位置,显示rate勋章
  • 修复战斗结束结算面板显示有误的bug

v0.5.1 (2016/12/21)

  • 微调UI

v0.5.2 (2016/12/27)

  • 完善程序说明

v0.5.3 (2016/12/28)

  • 完善程序说明

v0.5.4 (2016/12/28)

  • 修改图片路径

About

2016 BUPT C++ Programming Experiment -- Pokemon

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published