在我们学习java的时候,为了提高我们的兴趣,我们经常会使用所学到的知识去做一些小游戏,这篇blog就介绍了一个经典而且好理解的小游戏-贪吃蛇。

一、使用知识

  • Jframe
  • GUI
  • 双向链表
  • 线程

二、使用工具

  • IntelliJ IDEA
  • jdk 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包

  1. idea打jar包方式
  2. 命令行运行jar包方式

源码

最后附上源码链接:

链接: https://pan.baidu.com/s/1iUmSUnvpi_YKUNsPs3ugIQ
提取码: zxsk

作者:swyee
链接:https://blog.csdn.net/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博客

隐藏窗口 java swing_Java简单实现贪吃蛇经典小游戏(附源代码)相关推荐

  1. 最终幻想游戏java_Java简单实现贪吃蛇经典小游戏(附源代码)

    在我们学习java的时候,为了提高我们的兴趣,我们经常会使用所学到的知识去做一些小游戏,这篇blog就介绍了一个经典而且好理解的小游戏-贪吃蛇. 一.使用知识Jframe GUI 双向链表 线程 二. ...

  2. 贪食蛇php,贪吃蛇网页小游戏的代码

    贪吃蛇网页小游戏的代码 ::selection { color:#FFFFFF; background:transparent; } ::-moz-selection { color:#FFFFFF; ...

  3. 用前端技术实现贪吃蛇的小游戏

    用前端技术实现贪吃蛇的小游戏 前言 游戏功能 游戏设计 游戏主页代码 游戏中的js代码(snake.js) 游戏运行界面 前言 周末大热天窝在家里无聊,想温习一下前端开发,所以用javascript ...

  4. Java实现简单的贪吃蛇

    这两天学着做了一个简单的贪吃蛇,只是为了练习用,所以很多地方都不完美 实现方式是用链表,代码中有详细注释 活动区域Yard: <span style="font-size:14px;& ...

  5. javaswing 贪吃蛇双人小游戏

    游戏截图 代码 Java14写的哦低版本会报错 文件列表 package Sys;import javax.swing.*; import java.awt.*; import java.awt.ev ...

  6. 在家用c++实现贪吃蛇——c++小游戏

    伪代码: 地图为二位数组 int main(){ 死循环 刷新地图 生成水果 获取键盘 移动头部 判定死亡.吃到水果 if(没有吃到水果) {移动尾部 } 等待指定秒数 清屏 } 首先,我们因该可以把 ...

  7. 100行实现《贪吃蛇》小游戏详解(Qt)

    目录 游戏说明 游戏效果展示 游戏代码详解 ​关键数据结构 初始化游戏界面 游戏部分 提示部分 蛇逻辑 小蛇的初始化 边界判断 蛇吃食物判断 随机生成食物 是否撞到自己 小蛇的移动 游戏主体逻辑 定时 ...

  8. 贪吃蛇html网页小游戏,网页贪吃蛇HTML5小游戏制作

    贪吃蛇是以前我们经常在手机里玩的一个小游戏,现在要是把它搬到网页上也会让人更回味.这是一款非常有趣的HTML5响应式网页贪吃蛇小游戏.在游戏中你可以使用键盘的上下左右来控制蛇的运动方向.现在要列出的是 ...

  9. 贪吃蛇java 暂停_Java实现贪吃蛇小游戏

    三月份的时候用Java写了一个贪吃蛇的小游戏,写完的时候颇有成就感,现在在这里做一下总结. 先把需要用到的图片资源放在这里,分别为上.下.左.右方向的蛇头,蛇身,食物,标题,可以通过右击另存为的方式下 ...

最新文章

  1. sencha app refresh
  2. 产品开发过程问题及解决方案汇总
  3. SAP Spartacus cost center Add按钮的href属性生成逻辑分析
  4. 2020蓝桥杯省赛---java---B---2(指数计算)
  5. .net中使用XPath语言在xml中判断是否存在节点值的方法
  6. Policy-Based Reinforcement Learning
  7. 黄刘生--数据结构--答案 2
  8. 第二sprint总结
  9. python面向对象设计角色攻击_Python技能:面向对象基础实战之英雄联盟
  10. spss进行偏相关分析
  11. 泛微oa系统服务器怎么填写,泛微协同办公平台Ecology8安装部署手册(105页)-原创力文档...
  12. 【基础篇】————28、横向渗透
  13. kdj指标计算程序代码
  14. 群英荟萃 | UINO优锘科技ThingJS平台亮相华为开发者大会
  15. Linux 操作rar压缩包
  16. 瀑布模型,迭代模型,敏捷开发
  17. 开源工单系统 python_运维工单--服务器申请工单
  18. 恢复微信撤回的图片(不容root,极其简单)
  19. Linux 开发环境工具 下载网址大全 --转
  20. oracle 安装之后

热门文章

  1. 路飞学城-Python爬虫集训-第一章
  2. h5上下滑动时页面出现抖动问题解决
  3. Web安全相关(二):跨站请求伪造(CSRF/XSRF)
  4. XenApp/XenDesktop 7.11 对于HDX 3D pro的2点增强
  5. HTML-CSS-JS Prettify报错Node.js was not found 解决方法
  6. 【JAVA高级】——myEclipse连接mysql启动数据库服务
  7. 解剖C语言---数据类型转换与数据运算集锦
  8. 循环,数组,函数作业
  9. thinkPHP的Excel插件
  10. 红皮书:变量、作用域和内存问题(四)