贪吃蛇
快速阅读
记录大一上学期做过的一个双人贪吃蛇游戏。
功能概述
基于 C语言 和 EasyX图形库 实现的双人贪吃蛇,引入了咬合玩法,当玩家的头部前向接触到对手的任何部位时,若咬合力(基于体长)大于此部位韧性(基于此部位到尾部的距离)则咬断对手(减少对方体长),若咬断部位为头部则玩家获胜;否则计时结束后体长最大的一方获胜。
按键控制
- 玩家1:
WASD控制移动方向,SPACE暂停移动。 - 玩家2:
↑←↓→控制移动方向,NUMPAD0暂停移动。
随机位置会刷新食物,可以按键暂停自己以微调坐标。
玩家可以沿斜向共 8 个方向移动,当头部指向自己的身体时算法会自动改变玩家的方向。
核心节点
相对于 C语言 原生的黑白屏符号游戏,利用绘图代码实现的程序视觉效果上要提升很多,难点主要在于设计合适的代码结构和运行逻辑。
运行效果



备注信息
- 咬合力与韧性规则
-
咬合力
Force= 体长 /2 -
韧性
Toughness= 尾部为1,尾至头部依次+1。
-
修改游戏内置音乐
参考文件内置图片 “修改音乐”,修改后把mp3文件放到文件夹内。 -
修改游戏运行速度
参考文件内置图片 “修改刷新率”,修改后重新生成exe文件。 -
ForceA / B 同时小于ToughnessA / B 的情况下对心碰撞
逻辑上需要双方都随机转到另一个方向,系统会先判定 A 是否随机到空位置,然后判定 B,如果双方的下一个坐标分别是对方,会造成胜负误判。








