GameMap.js
中的start()函数创建障碍物后,监听键盘事件。
update()函数动态的求出地图的宽和高,检查两条蛇是否准备好,准备好后进入下一回合。调用Snake.js
中的next_step(),这个函数中根据键盘输入的方向修改蛇头要走的下一个位置,判断下一个位置是否合法,并且抛出一个蛇头,比如原来的是012,现在是0012。
Snake.js
中的start()函数是空的,update()
函数中执行update_move()
函数,该函数判断蛇头是否走到了目标蛇头的位置,如果走到了,将目标蛇头覆盖蛇头,设置状态为idle,蛇不用变长的话就将蛇尾弹出;否则如果没有走到目标蛇头的位置,计算蛇头x和y方向的偏移量,并把偏移量加到蛇头上,如果蛇长不增加的话,蛇尾也要向前移动,移动方式跟蛇头一样。除了update_move()
函数,还有render()
函数,用来画蛇。