如何用Java编写一个贪吃蛇游戏程序?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1634个文字,预计阅读时间需要7分钟。
最近在JAVA和JSwing上手练习了一下,简单学习了贪吃蛇。参考了大量资料,内容如下:
欢迎交流和学习新的内容。使用JSwing实现了以下功能:
* 蛇:采用单链表记录蛇头,整个蛇被分为latt段。
最近JAVA和JSwing上手练习了一下贪吃蛇,供大家参考,具体内容如下
欢迎交流和加入新的内容
用到了JSwing,下面是一些具体的思路
实现
* 蛇:
采用单链表记录首尾,整个蛇被分为lattice格子,放在map里
* 移动:
我在实现的过程中发现最难得反而是蛇的定义和实现。一直想着怎么样用单独的方法表示出蛇来,但是如果将蛇单独实现,总有些细节实现起来特别麻烦
其实蛇移动并非牵一发而动全身,其实身子是没有发生变化的,关键是两点:
a.头的移动
b.尾巴的移动
实现:
直接把蛇实现在地图的小格子里,不再单独设置子类或者ArrayList等,Map里加上蛇头的坐标,从而使得Map可以根据蛇头改变蛇的坐标(类似于变量交换)。为头部单独设置x,y,作为移动的方向(也可以作为静态变量x和y,不过没什么区别),为身子设置next指针,只要next.next不是尾巴,那么保持不变。
本文共计1634个文字,预计阅读时间需要7分钟。
最近在JAVA和JSwing上手练习了一下,简单学习了贪吃蛇。参考了大量资料,内容如下:
欢迎交流和学习新的内容。使用JSwing实现了以下功能:
* 蛇:采用单链表记录蛇头,整个蛇被分为latt段。
最近JAVA和JSwing上手练习了一下贪吃蛇,供大家参考,具体内容如下
欢迎交流和加入新的内容
用到了JSwing,下面是一些具体的思路
实现
* 蛇:
采用单链表记录首尾,整个蛇被分为lattice格子,放在map里
* 移动:
我在实现的过程中发现最难得反而是蛇的定义和实现。一直想着怎么样用单独的方法表示出蛇来,但是如果将蛇单独实现,总有些细节实现起来特别麻烦
其实蛇移动并非牵一发而动全身,其实身子是没有发生变化的,关键是两点:
a.头的移动
b.尾巴的移动
实现:
直接把蛇实现在地图的小格子里,不再单独设置子类或者ArrayList等,Map里加上蛇头的坐标,从而使得Map可以根据蛇头改变蛇的坐标(类似于变量交换)。为头部单独设置x,y,作为移动的方向(也可以作为静态变量x和y,不过没什么区别),为身子设置next指针,只要next.next不是尾巴,那么保持不变。

