【代码的实现逻辑思路如下,按照如下实现,可开发一个简单的贪吃蛇游戏,但是可优化的地方还比较多,后续会推进,完整功能代码会附在思路之后!】
【整个游戏也已经打包好,如果有需要请私信!】
准备工作
JDK8.0
IntelliJ IDEA
设计游戏图纸
实现700*900
宽度值为700像素,每个格子为25像素,共计有28个格子
高度值为900像素,每个格子为25像素,共计有36 个格子
在窗口上添加画布
新建一个类MyPanel画布,同时继承JPanel
编写两个方法:无参构造方法和重写画组件,其中参数看作是一个画笔
方法体中编写代码:先调用父类方法做一些基本工作,然后再设置背景颜色,最后在main方法的窗口中添加画布
执行思路:当添加画布时,执行无参构造方法,然后再自动执行重写画组件的方法
在画布上添加游戏区
使用画笔填满整个区域,四个参数分别是:在画布中x坐标,在画布中y坐标,以及宽度和高度值
放静态蛇
声明右侧头部图片,声明身体图片,添加右侧头部,添加两个身体
定义蛇的数据结构
当游戏运行后,蛇的身体会不断变长,蛇的位置也会不断的发生改变,因此需要将蛇的长度和蛇的位置存放起来,目前使用数组完成。
具体操作步骤如下:
声明一个初始值,表示蛇的初始长度为3
声明蛇的x坐标和y坐标
当创建对象执行无参构造方法时,完成蛇的右侧头部和身体位置初始化
此时就不需要之前编写静态蛇身体的代码,通过编写循环遍历数组即可
控制蛇头方向
蛇头可以进行上下左右移动
定义一个枚举方向,有上、下、左、右四个取值,分别声明向上、向下和向左的三个蛇头图片,声明一个枚举类型变量,标识蛇头的方向,通过更改枚举方向的值,来更改蛇头的方向。
放上开始提示
在重写画组件的方法中,使用画笔就可以完成
按空格键开始游戏
- 1.声明一个boolean类