# 贪恰蛇
# 在线Demo
- 贪吃蛇 :在线试玩
# 一条贪吃的蛇与食物🎂
首先需要定义一个二维数组来存放蛇头与蛇身的坐标
- 蛇头:
[~~(Math.random() * (棋盘宽度 - 蛇长 - 1) + 1),~~(Math.random() * (棋盘高度 - 蛇长 - 1) + 1)];
- 蛇身:通过蛇头的坐标随机向上或向下遍历坐标可得到
- 蛇的数据结构:最终得到类似右边的二维数组
[[10,10],[10,11],[10,12],[10,13],[10,14]]
- 食物: 通过
while
遍历出一个不属于🐍身的坐标就好了
# 让蛇动起来 🚑
根据移动的方向使蛇的首项的当前轴坐标+1,并删除蛇集合的尾项,蛇就动起来啦!我们需要:
- 绑定键盘事件,当用户按下时设置蛇移动的方向;
- 通过遍历去判断蛇头是否存在边界问题或蛇身;
- 判断蛇头坐标是否与食物坐标重合;
- 当蛇'吃到'食物时,则不删除蛇的尾项;
# 大功告成
接下来可以给贪吃蛇🐍加上一些因(花)吹(里)斯(胡)汀(哨)的功能了!