来来来,看一看Java版的贪吃蛇

运行结果

运行结果截图

开发环境

操作系统:win10
开发IDE:IDEA
主要技术:GUI

整体构思

这里以思维导图的形式给出整个项目的概况:
在这里插入图片描述

主要原理阐述

整个程序的核心有两点:

1、创建一个键盘监听器,监听玩家的键盘输入,从而控制蛇的移动。
2、创建一个定时器,每隔指定时间后改变蛇的位置坐标,然后在画板上重新打印,实现蛇的移动。

重、难点阐述

一、如何使用素材
因为在Java中是万物皆对象,所以我们需要将素材图片封装为对象,方便使用。

二、有了窗体就可以在上面弄小蛇了吗?
当然是不可以的,我们需要创建一个面板(继承JPanel),然后将面板添加到窗口中(通过add方法)。

三、如何将窗体设置在屏幕中间?
首先我们需要通过底层方法:GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice().getDisplayMode()获取到屏幕大小,然后减去窗体大小再除以2就是窗体的坐标。

四、当小蛇死亡后如何继续开始游戏?
我们需要将初始化小蛇状态的代码从构造器里提出来,然后专门创建一个初始化方法来初始化小蛇的状态,在小蛇死亡后调用该方法就可以回到最初状态。

五、如何让蛇动起来?
只需要将蛇的后一节身子的坐标改为前一节身子的坐标(通过循环实现),然后按照蛇的前进方向改变蛇头的坐标后再重新在画板上打印即可实现蛇的移动。

六、蛇吃到食物会发生什么?
当蛇头的位置坐标和食物的位置坐标重合后,即代表蛇吃到了食物。这是需要做以下几件事:

1、得分+1
2、蛇的长度+1,通过ArrayList的add方法在容器的最后根据蛇的前进方向再加一节身子
3、随机产生不在蛇身子上的食物

程序源码

完整程序源码请从微信公众号:青云学斋(文末附有二维码)获取
主要部分程序代码如下:

封装素材图片:
在这里插入图片描述
创建窗体:
在这里插入图片描述
定时器:
在这里插入图片描述
在这里插入图片描述
产生随机食物坐标:
在这里插入图片描述
在画板上绘制蛇、食物等:
在这里插入图片描述

获取完整程序源码请关注微信公众号:青云学斋,后台输入贪吃蛇即可,二维码如下:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值