基于C++的贪吃蛇游戏
-
添加背景音乐:
- 实现循环播放;
- 进入游戏播放,蛇死亡时停止;
- 音乐可随游戏的暂停/恢复而暂停/恢复。
-
实现多种界面:
- 初始欢迎界面,可选择新/读取/退出游戏;
- 若进入新游戏,则可选择系统默认地图/玩家提供地图;
- 若选择玩家提供地图,可进一步选择新建地图/已有地图;
- 进入游戏可选择难度,简单/一般/困难;
- 选取地图或存档时,展示所有地图/存档供玩家选择。
-
地图范围内有障碍物,可随机生成食物;
-
蛇可在地图范围内随意移动;
-
蛇在移动时判断碰撞,可区分边界、障碍物及食物:
- 吃到食物蛇身变长;
- 每5个增加一级速度,得到一点生命值奖励;
- 碰到障碍物则损失一点生命值,碰到边界直接死亡。
-
实现游戏运行状态:
- 可暂停,可恢复;
- 暂停时,可选择回到游戏or 退出游戏;
- 退出游戏时,可选择直接退出 or 保存退出;
-
有难度等级的概念:
- 难度与障碍物数量及速度成正比;
- 游戏前,可手动选择难度;
- 游戏中,可通过+/-按键控制加减速来控制难度;
- 蛇每吃五个食物,难度增加一级。
-
具备简单的记分功能,分数实时显示:
- 每吃一个食物记5分;
- 每25分增加一点生命值。
-
有地图编辑功能:
- 玩家可自定义多个地图,用户自行命名以区分;
- 地图以文件形式存放,进入游戏时可根据用户的选择而导入相应地图文件;
-
实现存档读档功能:
- 游戏退出时,可选择是否保存;
- 障碍物、食物及蛇位置,蛇长、速度、生命值等信息均会保存;
- 可保存多个游戏档,用户自行命名以区分;
- 游戏档也以文件形式存放,读取游戏时可根据用户的选择而导入相应文件;
-
蛇有生命值的概念:
- 吃到食物不仅增加蛇长,每吃5个奖励一点生命值;
- 碰到障碍物损失一点生命值,生命值耗完后死亡
- 若碰到地图边界的墙壁则损失三点生命值,直接死亡。