贪吃蛇代码java以及详细解释

2022-11-19 投稿:徐紫富 分享

I am xiaowutonxue. First and foremost, I would like to express my sincere gratitude to my supervisor, professor Hu Anjiang, for his intellectual guidance, invaluable instructions and comments on my thesis. It is with his valuable assistance that I have finally accomplished this thesis.

我来了。

1.设计游戏,首先就要设计界面。首先看一下我设计的一个界面。界面分为左边的游戏区与右边的控制区。游戏区包含“得分信息”和贪吃蛇的游戏区,右边控制区有“开始”“暂停”“停止”按钮,等级选择单选框以及游戏排行榜。

2.所以我们需要定义swing组件,并在类初始化时初始化这些组件,添加组件。因为后面设计游戏的时候,我们要确切知道游戏区的大小,所以这里设置游戏区固定大小值。本来想用布局来更好的管理,但作者对布局也掌握不够,所以就先设置固定大小吧。

3.定义我们的游戏。贪吃蛇游戏其实就是包含很多细小网格,然后蛇在网格中移动。蛇由一连串的网格组成,为了视觉效果,蛇身用蓝色标记,食物用红色标记,背景白色。如第一张图片所示。所以,我们需要定义二维数组,保存网格信息,保存蛇身和食物的位置信息等。初始化时,还需要添加键盘事件控制上下左右移动。

4.豆豆的位置信息是二维的,所以我简单定义了一个类用来保存二维信息。

5.接着就是实现游戏的功能了。开始,暂停,停止按钮添加事件控制游戏开始。等级按钮定义游戏难度等。

6.开始游戏后,我们定义一个定时器。蛇身按照指定的方向移动,方向是通过初始化时添加的键盘事件,键盘的上下左右按钮来控制。蛇身是连续的位置信息,保存到队列中,所以蛇身的移动就是队首增加一个位置,队尾减少位置,然后重新绘画游戏区就可以了。

在蛇身移动时进一步做吃掉食物、撞墙、撞到自己的处理。这是游戏的主要逻辑。

7.最后,游戏结束我们弹出一个对话框提示是否保存游戏得分。我们制作了排行榜信息,只保留前10名的游戏得分。首先定义了一个实现Comparable接口的游戏得分类,按得分高,时间最早来排序。

结束时保存得分信息,看是否进入到排行榜中。而之前在初始化排行榜组件时就会加载游戏排行榜信息。

通过保存和读取排行榜信息,我们也熟悉一下文件读取操作,还有集合、排序算法的功能。

9.我是传播爱与正义的小芜同学,我的回答结束。

#贪吃蛇代码java以及详细解释#相关文章

java常量存储在哪里

变量可以存储在内存中的不同地方,这依赖于它们的生存期。在函数外部定义的变量(全局变量或静态外部变量)和在函数内部定义的static变量,其生存期就是程序运行的全过程,这些变量被存储在数据段(datas

0.2万人浏览 java常量存储

javajdk必须安装到c盘吗

jdk 的话随便安装哪个路径下都是可以的,最好不要安装在有空格的路径下 环境变量配置如下 HOME是 C:Program FilesJavajdk1.6.0_02(换成你的安装路径就可以了) Path

0.2万人浏览 javaJDKjdk

c语言和java哪个就业好

很多零基础的小白只是因为IT行业薪资高,所以才想学一门IT技术,但是由于对IT行业并不了解,所以不知道自己该学什么技术。今天小编着重给大家讲讲Java与C语言的区别,然后大家可以根据自己的需求选择学哪

0.2万人浏览 javaC语言JAVA

java语言的特点

JAVA语言,就是属于混合型语言,这是属于解释型语言和编译型语言之间的一种语言。学习一门高级程序语言,很多人都推荐JAVA。JAVA能让你学习到一门高级程序语言的方方面面,但又不会造成学习曲线过于陡峭

0.2万人浏览 Java语言的特点Java的

java代码怎么运行

1、电脑安装git工具2、git clone 仓库中的代码注:以上两步可以省略直接下载github代码压缩包到本地3、根基代码语言进行运行注:不同语言需要的本地环境不同,例如HTML可以直接打开,JA

0.2万人浏览 javaJAVA怎么运行java

java测试类怎么写

在写个人能力的时候要把能力具体化,达到了那种程度,字数尽量要多,要详细结合到你平日的兴趣爱好,学习,实习中,才不会让用人单位看着你写的能力有种虚无缥缈的感受。且在个人简历能力中要有重点,写的重点是企业

0.2万人浏览 JavaJAVAjava

java源码看不懂是因为基础不好吗?

学习滞后了,是会听不懂。学习Java和学习其他知识是一样的。首先,明确学习目标,学习本身无止境,不同程度,对事物理解也各有不同,要定好近期目标才能有的放矢。然后,指定学习计划,Java属于高级编程语言

0.2万人浏览 JavaJAVAjava

java developer什么意思

Oracle公司开发的Java集成开发环境(IDE)。  OracleJDeveloper  为构建具有J2EE功能,XML和WebServices的复杂的,多层的JAVA应用程序提供了一个完全集成的

0.2万人浏览 javadeveloperDeveloper