在我们学习java的时候,为了提高我们的兴趣,我们经常会使用所学到的知识去做一些小游戏,这篇blog就介绍了一个经典而且好理解的小游戏-贪吃蛇。
一、使用知识
JframeGUI双向链表线程二、使用工具
IntelliJ IDEAjdk 1.8三、开发过程
3.1素材准备
首先在开发之前应该准备一些素材,已备用,我主要找了一个图片以及一段优雅的音乐。
3.2 开发过程
3.2.1 创建项目
首先进入idea首页 open一个你想放项目的文件夹进入之后右键文件名 new 一个新的Directory——Snake把准备好的素材复制到文件中继续创建目录 src/Sanke选中src Mark Directory as — Souces 把src添加为根目录3.2.2 页面设计
创建java Class 文件 Snake - new - java class SnakeName 接下来的时候会对这个SnakeName.java里面的代码不停完善首先设置窗口格式
package
继续创建新的文件 SnakeGrid
package
将页面引用到SnakeGame.java中
package
运行样式
设置背景图片 背景音乐
在SnakeGrid.java中增加Music方法 设置画笔 绘图
package
在SnakeName中调用
package
呈现
3.23 画蛇
蛇的身体将会有双向链表组成,双向链表能记录一个节点的上一个节点和下一个节点。蛇的移动其实就是节点的变化,从而达到一种移动的视觉。
新建java Snake 创建节点
package
画蛇
在snake里面增加draw()方法
/*
在SnakeGrid.java中创建蛇
Snake
并在paint中调用snake.draw(g);
/**
控制蛇的移动
在snake中增加键盘调用的方法:
/*
增加头部的方法
/*
删除尾部的方法
/*
增加move的方法
/*
在SnakeGrid中创建一个线程类,用来执行蛇的移动方法
class
print方法中调用remove 在SnakeGrid()创建键盘监听事件:
package
执行main方法可以看到可以通过键盘进行控制移动了
3.24创建蛇的食物
增加食物的实例 以及画食物的方法 反映食物坐标的方法 新建Food.java
package
修改Snake.java 增加判断蛇头位置的方法,修改午无参构造方法,改为有参构造,把food添加进来 修改move方法
package
在修改snakegrid.java 贪吃蛇的功能就基本实现了
Food
@Override
3.2.5增加蛇的存活状态
在Snake中增加蛇的存活状态,每一次移动都判断下是否存活,修改SnakeGrid的线程,执行时进行判断是否存活
public
public
class
3.2.6 增加按钮
最后的时候,给这个小游戏增加几个按钮,用来实现暂停开始新建Button.java
package
再修改SnakeGrid中的thread
package
在主页面中把按钮添加上去
package
到这里这个小游戏就全部做完了,当然也可以在其基础上增加其他功能
也可以把这个小游戏打成jar包的形式进行运行,将打好的jar包和资源文件放在同一个目录下,即可正常运行访问
四、打jar包
idea打jar包方式命令行运行jar包方式源码
最后附上源码链接:
链接: /s/1iUmSUnvpi_YKUNsPs3ugIQ提取码: zxsk
作者:swyee链接:/qq_44433261/article/details/107598788?utm_medium=distribute.pc_feed.none-task-blog-personrec_tag-8.nonecase&depth_1-utm_source=distribute.pc_feed.none-task-blog-personrec_tag-8.nonecase&request_id=5f28e5fb8c9fb674c6722510
来源:CSDN博客