团队作业2

MMP垃圾作业

对本次任务的思考

这种游戏的游戏逻辑和呈现逻辑耦合度较高,开发时应一起编写和调试,如果先开发数据类和游戏逻辑,很容易和呈现逻辑出现对接不上的情况,而且在呈现逻辑未完成开发之前,游戏逻辑难以测试。所以应该先完成最小呈现逻辑和游戏逻辑的开发,完成整个代码的框架,再慢慢加功能。因此我认为本次任务非常不友好。

设计实现过程

游戏地图采用瓦片地图,Background层完成图像的描述,meta层描述元数据,以创建建筑及可碰撞体

RWorld类为单例模式,完成全局Unit和Buff的注册,以确保所有数据对象在任何地方都可访问。此类同时负责游戏时间的统计。
Utils命名空间包含工具类,目前包含CoordinateTransform类完成坐标变换
所有单位均继承自Unit,其中建筑继承自Building,可移动角色继承自Character
技能继承自Skill,增益效果继承自Buff,以确保上层对其统一的访问方法
游戏主循环在MainScene::update()

代码说明

详见文档
代码见GitHub
最近Azure有点问题,稍后更新

花费时间

大部分时间都花在实验cocos2d-x的各种代码段和与Box2D的集成上,花在模型设计设计上的时间不多。实际上花了多少时间我也不大清楚

问题

数据类和cocos2d的连接方式

cocos2d-x的工厂构造和二段构造对于直接从cocos2d::Sprite进行多级继承以创建数据模型非常不友好,因此采用组合方式连接数据类和cocos2d。

合照

团队作业2_第1张图片

你可能感兴趣的:(团队作业2)