Tony's Snake 3
2020-8-7 ~ 2021-2-19
(0)
介绍
一款基于贪吃蛇的小游戏,加入了多种有特殊效果的食物,可以控制蛇向八个方向移动。
这是本系列游戏的第三版,使用了 EasyX 的图形库,并增加了鼠标操作。
此程序是对绘图和鼠标操作的进一步练习,是对多态与类继承的初步学习。
编译环境
- VC++6.0
- EasyX 2018 春分版
文件
- startup.h:一些全局变量
- startup.cpp:游戏主程序
- game.h:常量定义,与游戏信息类
- info.cpp:游戏信息处理,读取外部数据,用于设置
- element.h:游戏元素基类定义,蛇类,食物类均继承此类
- element.cpp:基类的实现
- snake.cpp:蛇类的实现
- food.cpp:食物类的实现
- interface.h:界面类定义
- interface.cpp:界面类实现
注明:界面的实现方式参考了 迷宫小游戏(作者:Lost),感谢
玩法
游戏共有 4 种难度,可以在设置界面中更改。不同难度蛇的速度,初始长度,食物出现频率与属性有区别。
移动方向,特殊食物的出现,是否可以穿墙也可以在设置界面更改。
只有吃掉普通食物才会更新食物。
由于测试时间有限,对于游戏数据的不合理之处,如速度,效果持续时间等,可自行在“RESOURCES\DATA”下更改。
用记事本打开前缀为“DIF_”的文件即可修改,后面的单词与难度对应。
snakeDelay 为移动延时,snakeLength为蛇的初始长度。
有 5 种食物,分别有如下 4 种性质:
- Energy:吃掉该种食物后增加的长度;
- Score:吃掉该种食物后获得的分数;
- Last:该种食物带来的特殊效果持续的时间(会覆盖);
- Possibility:每吃掉一个普通食物, 该种食物出现的概率。
不足
- 蛇的移动速度并没有随长度增加而加快。
- 游戏音效可能会有延迟。
- 代码实现有些笨拙。
- 更多不足还请大家指正。
添加评论
取消回复