JavaScript实现贪吃蛇(附带代码)





	eat_snake



	

WSAD移动

主要是利用了div+js实现了贪吃蛇小游戏。

包括界面判定,自身的撞击判定,反方向无法移动,吃食物变长等。

代码只是闲来无事写着玩,没怎么优化,但功能基本全面。

整理一下思路吧:

  首先我是怎么实现移动的呢,我抓住了一个点,就是蛇头,让蛇头的值保持是n,控制n的变化就可以移动了。

如何让蛇身保持移动的状态呢,我注意到一个细节,就是每后一格的移动都是前一个的状态,所以我建立了集合list

把所有元素都保存在集合里,通过(可以理解位数组的后移),把所有的前一秒的状态往后移一格。我觉得这里是我最聪慧的地方了。

然后自身的撞击判定是检查n在和第二格以后的元素有没有重叠的情况。可能有个小bug但不重要

检测按键前的运动状态是根据保存的上次的键值key来实现的。

 

 

你可能感兴趣的:(javascript)