我的第一篇博客

我的第一篇博客


心情

今天开始了前端找工作之路,感觉自己这一段学习的知识对于找工作来说并不是很足够。压力很大,同时也很激励人。怎么说明天都会继续,巩固之余开拓创新,继续以不断的学习为终身目标。

主题

这一篇博客是为了帮自己理清前天写的贪吃蛇小游戏的思路

内容

贪吃蛇还是比较容易实现,第一步用数组承接蛇块对象,画出蛇来。第二步让前一蛇块代替后一蛇块位置,最后的蛇块位置改变从而使蛇运动起来。最后就一步是碰撞检测,判断蛇头不在食物块的上或下或左或右然后取反就是吃到了。也可以在蛇块与食物块大小一致的情况下判断食物块和蛇块位置一样就是吃到了。这里因为界面比较简易采用第二种判定方法。

实现
首先是食物块的代码

我的第一篇博客
然后是蛇类的代码
这是蛇的方向判定
我的第一篇博客
这是蛇的初始化
我的第一篇博客
这是蛇移动的实现
我的第一篇博客
三个判定
我的第一篇博客
最后使用window.onload事件实例化各种对象。

遗憾
尝试了很多方法最后还是没有实现长按不断加速这一功能,因为浏览器keydown事件在按下0.5秒以后会不断重复触发,导致不再加速。最开始尝试使用定时器延时,发现并没有什么影响。后来尝试取消事件默认行为,发现这个语句会取消默认事件,导致后来的事件也不能触发而且不能再通过事件取消。取消事件冒泡也是类似的不能做到。希望伴随着知识体系的不断丰富,这个遗憾可以用其他方法解决。