同济大学软件学院2023年程序设计范式课程期末项目
- 项目选题:金铲铲之战(2D)
- 项目GitHub地址:https://github.com/Qinghanhhh/Golden-shovels
- 选用引擎:Cocos2d-x 3.17
- 辅助软件:Photoshop 2022,csm-3d,VS 2022
- 支持平台:Windows
姓名 | 学号 | 贡献比 | 课程教师 |
---|---|---|---|
陈雅瑄 | 2250934 | 25% | 韩丰夏老师 |
罗诗雨 | 2251926 | 25% | 韩丰夏老师 |
付柏瑞 | 2252426 | 25% | 朱宏明老师 |
杨博萱 | 2253220 | 25% | 韩丰夏老师 |
第一阶段:负责底层战斗逻辑的设计与实现、全体英雄的设计、建模与动作编辑、英雄攻击物与血条的编写;
第二阶段:负责整体战斗的实现,包括回合轮换与AI、完成备战到战斗过程的对接
第三阶段:负责代码合并和整体bug调试以及优化,以及联机的最终实现
第一阶段:负责商店和卡池功能的实现
第二阶段:负责经验升级、玩家类和小小英雄的编写
第三阶段:负责项目合并的bug并优化
第一阶段:主地图界面整体构架,商店逻辑和角色加入队伍机制
第二阶段:玩家初始化和角色上场布局与逻辑对接
第三阶段:地图界面优化,ui优化,音效的实现
第一阶段:负责前期UI菜单界面设置,地图的构建,设置功能的实现
第二阶段:负责联机功能的实现
第三阶段:负责联机的合并
时间段 | 进度 |
---|---|
2023.11.20-2023.11.30 | 确定小组成员和组长,确定项目选题和使用引擎,熟悉金铲铲游戏 |
2023.12.01-2023.12.10 | 学习cocos-2d的相关知识和C++相关知识 |
2023.12.10-2023.12.15 | 初步确定项目分工和类的继承关系 |
2023.12.16-2023.12.20 | 初步完成界面,英雄及其战斗,商店和战斗准备的类 |
2023.12.21-2023.12.24 | 添加音乐,连接类,继续分工进行下一步工作 |
2023.12.25-2023.12.27 | 完成小小英雄,经验金币,添加了战斗的回合 |
2023.12.28-2023.12.31 | 完成AI和联机,修改一些bug,完善项目 |
- 有初始界面和设置界面
- 1v1地图
- 支持设置功能,背景音乐的滑动调节和打开关闭
- 支持多种类型的卡牌,包括战士,辅助,法师和射手
- 支持购买卡牌
- 支持卡牌升星功能
- 支持小小英雄的移动和血量展示
- 场上卡牌支持红蓝血条,辅助在蓝条满时可以释放技能, 进行全队回血
- 支持练习模式(即单人模式),玩家可以和AI玩家对弈
- 支持二人联机
- 支持创建和加入房间
- 实现了背景音乐及战斗时的打斗音效,成功和失败的音效,按键音效。
(由于上交的文件夹为中文命名,exe运行时没有音乐,把文件夹名称改成英文即可) - 英雄大招的设计:辅助在蓝条满时会进行全员回血
- 每位英雄均进行了3D建模,实现了对战双方的视角转换,每位英雄的移动和攻击均设计了动作动画,每位英雄有其专属的攻击物和属性
- 增加了暂停界面,支持游戏中进行暂停
- 回合结束会按照剩余英雄的数量进行小小英雄的扣血,增加玩家经验和金币
- 游戏结束可显示游戏胜利,失败并且有音效
- 支持玩家经验升级,和可以上场的英雄数量相关
- 支持卡池和刷新商店卡牌
- 程序运行不会崩溃,没有内存泄漏的情况
- 合理使用Git控制版本,将项目开源至GitHub,保存了多次提交记录
- 团队成员分工合理平等,大家互相帮助,合作完成项目
- 界面精美,每个英雄使用AI建模,保证它的的移动和攻击动作会进行变化,而且攻击效果都不同,实现了动画效果,同时使用了AI生成的相关图片,保证界面风格统一
- 游戏英雄有大招功能和动画效果,可以造成更高的伤害或回血。
- 项目目录结构清晰,清晰介绍成员分工,功能以及架构结构等
- 实现了购买的卡池逻辑
- AI的水平较高,可以实现较好的练习效果
- 经验升级和可以上场的英雄数量相关
- 回合结束会按照剩余英雄的数量进行小小英雄的扣血,增加玩家经验和金币
- 游戏的英雄的血量,魔力,攻击力,攻击速度,防御,攻击范围,移动速度和攻击速度均有差别,数值会随卡牌升星而升级,且数值设置合理,保证了游戏的可玩性和平衡性
- 能显示回合数
- 能暂停游戏
- 小小英雄右键移动,不会产生冲突
- 基本运用了统一的命名方式
- 类的继承和复用合理高效
- 运行游戏时不会发生崩溃情况