分享18级同学大一上学期用C语言实现的贪吃蛇大作战。分步骤代码、图片音乐素材、可执行程序可从百度网盘下载:
链接:https://pan.baidu.com/s/1WwDj9BTJq5QFMZCEJPg-3g
提取码:efep
一、游戏介绍
我们小组制作的游戏是双人操控或者单人操控的贪吃蛇类游戏。这款游戏是仿照贪吃蛇大作战的多玩家实时对抗的模式,在单人模式的基础上加上双人对抗的新模式,大大提高了游戏的可玩性。单人模式较为传统,和普通类贪吃蛇大体相同;双人对抗模式时,即使没有发生小蛇相撞的情况也不必担心,我们还加入了时间限制,最后的分最高的获得游戏的胜利。
二、设计思路
首先定好游戏的框架,之后把一条小蛇的核心代码写出,比如小蛇的蛇头、眼睛、身体,小蛇的移动,食物等等;
在有了一条小蛇的基础上,我们开始加入另一条小蛇,利用双人异步输入控制两条小蛇的移动,再加入各种功能,比如小蛇的相撞,得分等等;
然后制作菜单,添加时间;
最后完善代码。
三、功能描述
游戏开始界面可以选择单人模式或者双人模式,也可以查看帮助,按下0键回到菜单栏。进入单人模式后,通过控制a s w d键进行移动,按下空格键进行加速,时间到即游戏结束,或者触碰边界小蛇死亡,也可以按Esc暂停;进入双人模式,两个玩家分别控制a s w d键和上下左右键进行8个方向的移动,分别按下enter键和空格键进行加速,时间到或者小蛇相撞即游戏结束,也可进行暂停操作。
四、分步骤实现方法
1.实现基本框架
2.实现一条小蛇
重点:用esayx画小蛇,小蛇移动,加入食物,判断是否吃到食物,加入得分。
难点:在进行小蛇的移动时遇到了不知道选择哪种方法的困境,开始选择用链表来做,发现进行后续操作时无法展开,然后想用结构体来做,同样遇到问题,最后还是选择最简单的数组进行。
3.另一条小蛇
分别用两个数组定义两条小蛇,实现异步输入是重点;
4.加入得分
5.计时
难点:用Sleep(1000)的方法根本行不通的。选择与现实时间差不多的方式。
6.加入菜单
7.游戏暂停和结束
8.存档读档
五、体会与总结
在设计游戏的过程中,我们没有采取那些非常高级的方法,就是用基础的结构模式进行操作,当需要函数的时候再开出新的函数。我们在设计游戏的过程中首先要把目标确定好,把步骤细化,这样才能逐步完成代码。在设计程序时,我们遇到了许多问题,但是在不断的搜索,分析成功的代码下,我们成功实现了我们自己的游戏的制作。