不那么low的贪吃蛇...以及贪吃蛇寻路算法....算法这里暂时不提,只提贪吃蛇小游戏的制作
整体内容来说比扫雷简单...但是因为了有了图片,所以看起来肯定要比上一篇的扫雷高级很多......
然后我在代码中增加了寻路ai以及更高一层的UI界面....依然很丑的UI界面....
github:https://github.com/jnxxhzz/java-snake
———————————————————————————————————————————
因为贪吃蛇跟扫雷不同,扫雷是全局静态只需要修改每个按钮的状态,而贪吃蛇需要每次重画整个界面,所以将游戏整体与画布分开写在两个类里
Snake.java
设置基础窗口格式,并且添加画布到frame里
Snakebackground类这里需要监听键盘输入keylistener和动作actionlistener
全局变量设置,这里的坐标跨度全部为25,因为蛇身蛇头的像素为25*25
首先初始化初始蛇头以及gameover和gamestart
增加监听以及增加timer计时器,也可以理解成隔多久刷新画布,也就是蛇的移动速度
然后在画布上画出整体框架,并且按照gameover和gamestart标记判断是否需要写出开始/暂停游戏的提示
计时器结束后,需要重启计时器,然后蛇整体移动一步,并且判断吃到食物或撞到自己的情况
最后通过键盘监听keylistener,控制蛇的方向,以及空格的作用,开始/暂停游戏,或在失败后重新开始游戏