# 2019 软件学院 C++ 期末项⽬说明
1. 在给定的⼏个参考选题中选择⼀个完成;
2. 以个⼈或团队⾝份完成, 允许跨班组队。团队⼈数限制⻅选题的说明
3. 必须使⽤ git 进⾏版本控制,且公开发布指定的 git 托管⽹站之⼀(⻅"附录");
4. 实现了基本功能、可编译为可执⾏⽂件、可正常运⾏不崩溃;
5. 不得抄袭任何代码,包括开源项⽬中的代码,但允许使⽤开源库;若以源码⽅式引⽤开源库,则 开源项⽬的源码或头⽂件需放⼊和你编写的源代码不⼀样的⽬录中;
6. 有基本的图形化界⾯(如使⽤ Qt、Cocos 等框架,或 OpenGL、DirectX 等原⽣ API),不得只包含 控制台界⾯;本项⽬偏向于考察和锻炼代码和架构设计, 请勿将᯿点错误地放在了精美的界⾯ 上;
7. 必须贯彻且合理地使⽤了指定 3 条以上的 C++ 功能(⻅"附录");
8. 必须达成所有指定的代码规范要求(⻅"附录");
9. 需在 4⽉21⽇ 前将分组信息(包含学号和姓名)、组⻓(仅限团队项⽬)、选题、项⽬ git 地址 发送给助教(三位助教都需要发送,联系⽅式⻅"助教和联系⽅式")。
10. 期末需递交项⽬源码、可执⾏程序和⽂档(⽂档需涵盖的内容另⾏公布),提交截⽌时间为 16周 周⽇24点 之前。
11. 期末需进⾏答辩,答辩时间初步安排在 17周 课上答辩;
**评分标准**
以团队为单位进⾏评分,同⼀个团队下的成员⼀般会获得⽐较相近的期末项⽬分数,但贡献⾮常少的团 队成员可能被扣除不超过 40% 的期末项⽬分数。贡献程度由 git 递交历史评定。
**选择参考选题进⾏开发的项⽬**
| 评分项 | 权重 |
| ---------------------------------- | -------------- |
| 基础功能的实现程度 [*] | 40% × 得分权值 |
| 基础功能以外新开发的功能的创新性 | 5% |
| 基础功能以外新开发的功能的技术难度 | 15% |
| 基础功能以外新开发的功能的⼯作量 | 15% |
| C++ 功能和特性的使⽤程度 | 10% |
| 答辩 | 10% |
| ⽂档 | 5% |
| 以个⼈⾝份完成项⽬额外 | 5% |
| 加分项 | 不超过额外30% |
[*] 选题的得分权值(本⽂档给出,⻅"参考选题")将影响你在该项的最终得分。例如在得分权值为 0.6 的情况下,你在该项中的最终得分不会超过 40% × 0.6 = 24%,因此你的期末项⽬总分⾄多为 84 分(100 分计)。得分权值⼤于 1 时,多出来的分数作为额外加分项(不与评分项中的加分项冲突)。
**参考选题**
每个选题都给定了⼀个得分权值,代表项⽬的难度和⼯作量,也决定了你期末项⽬分数的上限。得分权 值越⾼,完成该项⽬的难度和所需的预计⼯作量越⼤、完成相同数量的基础功能情况下所得的分数也会 越多。请根据⾃⼰的⽔平选择合适的项⽬,避免由于选择了⾼难度项⽬毫⽆进展⽽得零分,或由于选择 了太低难度项⽬⽆法得到全部分数。
**Gameboy 模拟器**
得分权值:1.5
团队⼈数限制:<= 4 ⼈
描述:实现⼀个 Gameboy Classic 模拟器。
**需要达成的基础功能:**
- 实现 Gameboy Z80 CPU 模拟(⽀持所有或⼤部分指令集)
- 实现时钟模拟
- 实现内存模拟
- ⽀持基本图形操作
- ⽀持对游戏进⾏交互操作(即输⼊)
- ⽀持载⼊ ROM
- 可以基本玩⼀款 GB 游戏
**基础功能以外的可选功能(欢迎⾃创):**
- Background Window Graphic
- Sprite
- ⾳频输出
- ⾦⼿指
注:该选题不是要求实现 GBA。
**王者荣耀(2D)**
得分权值:1.3
团队⼈数限制:<= 4
实现⼀个类似于王者荣耀的在线MOBA游戏。以下功能为王者荣耀为例,你可以使⽤其他游戏题材,但 必须是在线MOBA类型的,并且⼯作量与下列要求相符。需要达成的基础功能:
- 实现服务端:⽀持联机对战、电脑AI加⼊
- 1v1地图
- ⽀持⾄少三种英雄类型(亚瑟、后羿、妲⼰)
- ⽀持三种基础⼩兵(近战兵、远程兵、炮⻋)
- ⽀持⾦钱的各种获取⽅式(补兵、防御塔、击败敌⽅英雄、时间)
- ⽀持经验、等级系统
- ⽀持装备系统
- ⽀持战绩、装备⻚⾯查看
- ⽀持⼩兵、防御塔AI
- 英雄操作⽅式可以参考英雄联盟orDota
**如果有余⼒,可以考虑的进阶功能(欢迎⾃创):**
- 5v5地图
- ⽀持更多的英雄类型
- ⽀持三种ᰀ怪(红bu"、蓝bu"、暴君)
- ⽀持聊天
**⼸箭⼿⼤作战**
得分权值: 1.1
团队⼈数限制:<= 4
**实现⼀个类似于arrow.io或⼸箭⼿⼤作战的游戏。需要达成的基础功能:**
- ⽀持⿏标和键盘操作
- ⽀持道具拾取功能
- ⽀持动画
- ⽀持多种不同类型的武器
- 实现服务端:
- ⽀持联机对战、电脑AI加⼊,多⼈在同⼀个地图上游戏
**如果有余⼒,可以考虑的进阶功能(欢迎⾃创):**
- ⽀持聊天
- ⽀持团队协作模式
- 更多的武器类型
- 更多的动画
**象棋**
得分权值:0.9
团队⼈数限制:<= 2⼈
**描述:实现⼀个在线象棋对战的游戏。**
- 需要完成的基本功能:
- 移动棋⼦、吃棋⼦动画
- “将军”提示
- 判断下⼦⽅是否已经胜利(对⽅已经死棋)
**基础功能以外的可选功能(欢迎⾃创):**
- ⽀持多个房间
- ⽀持聊天
- ⽀持残局对战
**打砖块**
得分权值:单机版<=0.7,多⼈版<=1.0
团队⼈数限制:单机版<=2⼈,多⼈版<=3⼈
描述:实现⼀个打砖块游戏。
**需要达成的基础功能: 碰撞检测、⿏标或键盘控制**
- 打碎砖块掉落多种道具
- ⽀持动画
- 排⾏榜
- 随着分数增⾼,⼩球移动速度变快
- 设置不同关卡(砖块位置、数量,初始速度,初始板的⻓度)
**多⼈版需要额外完成的基本功能:**
- 实现双⼈对抗,对抗时同步地实时显示其他⼈的屏幕
**其他基础功能以外的可选功能(欢迎⾃创):**
- 多⼈对抗时,⼰⽅短时间消除多个⽅块,给对⽅增加难度
- ⽀持聊天
- 多种材质的砖块
- 可以从配置⽂件读取游戏配置,加载不同关卡(砖块位置、数量,初始速度,初始板的⻓度)
**贪吃蛇**
得分权值:<= 0.6
团队⼈数限制:<= 1 ⼈
描述:实现⼀个贪吃蛇游戏
**需要达成的基础功能**
- 本地排⾏榜
- 碰撞检测、⿏标或键盘控制
- ⽀持吃⻝物的动画
- 可以穿越地图边界(例如,穿过右边边界,会到达左边边界)
- 随着分数增⾼,蛇的移动速度变快 设置不同关卡(障碍物位置,初始速度等)、
**其他基础功能以外的可选功能(欢迎⾃创):**
- 可以吐出⾆头吃⻝物
- 可以从配置⽂件读取游戏配置,加载不同关卡(障碍物位置,初始速度等)
## 加分项
加分项可叠加;请在答辩前告知助教核查项⽬的加分项。
**版本控制与团队协作**
- 符合⼀些 git 最佳实践(如 commit 历史⼲净规范、commit 描述规范、commit 包含且仅包含⼀项功 能、使⽤ Pull Request 功能或分⽀进⾏团队协作等);
- 团队成员分⼯平等、合理;
**代码质量与安全**
- 对于复杂逻辑使⽤单元测试验证正确性;
- 在单元测试基础上使⽤持续集成平台(如 Travis CI、AppVeyor);
- 使⽤断⾔验证程序性质;
**功能和架构**
- 界⾯精致;
- 跨桌⾯平台(Windows
没有合适的资源?快使用搜索试试~ 我知道了~
基于C++设计开发王者荣耀(2D)【100013081】
共194个文件
png:147个
h:19个
cpp:14个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
1 下载量 173 浏览量
2023-07-26
14:49:00
上传
评论
收藏 90.34MB ZIP 举报
温馨提示
1. cocos2d-x 3.17.1 2. boost vc141 1.69.0 建议使用NuGet安装 3. Visual Studio 2015/17/19 ### 游戏玩法说明: **单机版** ``` 1.运行程序->点击开始游戏->人机对战->选择您喜欢的英雄->进入游戏 2.进入游戏之后,点击鼠标左键进行移动与攻击操作 3.点击左侧进入商店可购买装备,查看战绩等 4.击败敌方英雄,防御塔,水晶获取胜利 ``` **联机版** ``` 1.本程序直接绑定了本机,所以可以通过在本机连续开启两次程序可以直接在一台电脑上联机 2.蓝方:运行程序->点击开始游戏->点击中间的开房间按钮 此时等待红方连接 3.红方:运行程序->点击开始游戏->点击下面的开房间按钮 此时红蓝连接成功 4.红蓝双方分别在房间页面选择开始游戏->选择英雄->进行紧张刺激(无聊的)联机对战
资源推荐
资源详情
资源评论
收起资源包目录
基于C++设计开发王者荣耀(2D)【100013081】 (194个子文件)
OnlineScene.cpp 118KB
MainScene.cpp 116KB
AppDelegate.cpp 4KB
HeroSprite.cpp 3KB
Client.cpp 3KB
Server.cpp 2KB
OnlineChooseHero.cpp 2KB
SoldierSprite.cpp 2KB
ChooseMode.cpp 2KB
TowerSprite.cpp 2KB
RoomScene.cpp 2KB
ChooseHeroScene.cpp 2KB
WelcomeScene.cpp 1KB
AttackEffect.cpp 553B
MainScene.h 5KB
OnlineScene.h 5KB
Server.h 3KB
Client.h 2KB
Message.h 2KB
Hero.h 1KB
AppDelegate.h 941B
HeroSprite.h 681B
SoldierSprite.h 590B
TowerSprite.h 492B
Soldier.h 443B
ChooseMode.h 415B
OnlineChooseHero.h 389B
ChooseHeroScene.h 367B
MessageCode.h 333B
WelcomeScene.h 288B
Tower.h 279B
AttackEffect.h 268B
RoomScene.h 267B
background.jpg 1.72MB
choose_hero_bg.jpg 384KB
LICENSE 1KB
李翠琪.md 14KB
README.md 10KB
简介.md 3KB
乔宇.md 3KB
游戏说明.md 2KB
王者数据准备.md 1KB
back.mp3 9.12MB
2019 软件学院 C++ 期末项⽬说明-v1.1.pdf 190KB
map.png 9.13MB
开始游戏界面.png 2.44MB
游戏主场景_出生地.png 2.35MB
游戏主场景_交战处.png 2.25MB
胜利场景.png 2.22MB
联机场景_出生右边.png 2.16MB
loading_background.png 2.16MB
loading_background.png 2.16MB
联机场景_出生左边.png 2.14MB
选择英雄界面.png 1.91MB
选择游戏模式界面.png 1.85MB
死亡画面.png 1.76MB
战绩查看.png 1.52MB
购买装备页面.png 1.42MB
shopopened_first.png 1.12MB
shopopened_second1.png 978KB
联机房间.png 928KB
room.png 900KB
win.png 818KB
lose.png 527KB
houyi.png 199KB
yase.png 180KB
daji.png 180KB
man_vs_ai.png 166KB
man_vs_computer.png 136KB
join_room_selected.png 133KB
basement_red.png 133KB
join_room.png 121KB
join_room.png 121KB
result.png 111KB
basement_blue.png 109KB
man_vs_man.png 94KB
man_vs_man.png 91KB
daji_passive.png 90KB
tower_red.png 89KB
def_shoes3.png 88KB
houyi_passive.png 76KB
def_shoes_after_basic.png 75KB
def_shoes2.png 75KB
man_vs_computer_selected.png 75KB
def_shoes.png 74KB
yase_passive.png 72KB
def_armour2.png 72KB
def_armour.png 71KB
def_armour_after_clothes.png 71KB
belt_strength_after_red.png 70KB
belt_strength.png 69KB
belt_strength2.png 69KB
mp_book2.png 68KB
man_vs_man_selected.png 68KB
def_armour3.png 68KB
big_sword2.png 68KB
mp_book.png 67KB
tower_blue.png 67KB
big_sword_after_iron.png 67KB
big_stick.png 66KB
共 194 条
- 1
- 2
资源评论
神仙别闹
- 粉丝: 2674
- 资源: 7637
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 养老院管理系统的设计与实现(部署视频)-kaic.mp4
- 基于Springboot儿童玩具售卖网站的设计与实现(部署视频).zip
- STM32F103C单片机+TJA1050+CP2102 CANBUS总线转USB串口ALTIUM设计硬件(原理图+PCB)工程
- TM1620芯片的仿真,用单片机替代
- 一些简单聚类算法的java实现.zip
- 学生画像可视化系统+课程聚类推荐.zip
- 系统聚类法与k均值聚类法.课程作业的代码,完全是调包且借助了GPT工具,错误欢迎指正 .zip
- 数据挖掘K-Means聚类算法Java实现.zip
- PKYJ6WKP(3).mobileconfig
- 软件架构恢复工具,使用聚类.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功