资源简介
适合java初学者学习用、本文件采用内部类、只有一个文件,代码实现了关卡、分数等 附有详细注释,解压后导入eclipse即可打开(最好是1.8的jdk,过低版本可能会报错)。

代码片段和文件信息
package 贪吃蛇;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Point;
import java.awt.Toolkit;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.util.linkedList;
import java.util.Random;
import javax.swing.Jframe;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
public class DisplayPanel extends Jframe {
public static final int ROWS = 30; //定义行数。
public static final int COLS = 30; //定义列数。
public static final int BLOCK_SIZE = 15; //定义格子长宽。
public double fenshu = 0; //定义分数。
public double dengji = 1; //定义等级。
public int i ii = 1; //定义各种中间参数,用于计算分数和关切等级。
public boolean judge = true; //定义布尔类型、判断蛇是否死亡、即生命值。
public Random rand = new Random(); //创建一个随机数对象。
public Snake snake = new Snake(); //创建一个蛇对象。
public Food food = new Food(); //创建食物对象。
public Poisonousfood pfood = new Poisonousfood(); //创建毒物对象。
public DisplayPanel() {
this.addKeyListener(new key());
this.settitle(“学习用贪吃蛇“);
this.add(new Activepanel());
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setSize(456 479);
this.setVisible(true);
this.setResizable(false);
int width = Toolkit.getDefaultToolkit().getScreenSize().width; //剧中显示方法。
int height = Toolkit.getDefaultToolkit().getScreenSize().height;
this.setBounds((width - 456) / 2 (height - 479) / 2 456 479);
}
public class Activepanel extends JPanel { //游戏显示面板类。
public Activepanel() {
new Thread(new qd()).start(); //启动线程。
}
public void paintComponent(Graphics g) { //画布 用于画网格、分数、关卡、蛇、食物、毒物。
super.paintComponent(g);
setBackground(Color.WHITE);
g.setColor(Color.GRAY); //画分数和关卡。
g.setFont(new Font(“宋体“ Font.BOLD 100));
String fs = String.valueOf(fenshu);
g.drawString(fs 120 150);
String dj = “第“ + String.valueOf(i) + “关“;
g.drawString(dj 90 265);
g.setColor(Color.BLACK); //画网格。
for (int i = 1; i < ROWS; i++) {
g.drawLine(0 i * BLOCK_SIZE COLS * BLOCK_SIZE BLOCK_SIZE * i);
}
for (int i = 1; i < ROWS; i++) {
g.drawLine(i * BLOCK_SIZE 0 BLOCK_SIZE * i ROWS * BLOCK_SIZE);
}
pfood.drawme(g); //画毒物。
food.drawme(g); //画食物
snake.drawme(g); //画蛇。
}
public class qd implements Runnable { //线程
public void run() {
while (judge) {
judge = snake.death(); //每次刷新调用蛇死亡的方法,判断蛇是否死亡。
if (fenshu > 10) { //计算分数、设定10分为一关。
dengji = Math.ceil(fenshu / 10);
}
i = (int) dengji;
if (i != ii) { //判断关卡是否变动、变动着刷新,进入下一关。
ii = i;
snake.initial();
food.Refresh();
pfood.Refresh(snake food);
}
repaint();
try {
Thread.sleep(200 / i);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
}
public class Snake { //蛇类。
public String newfx = “r“;
public String oldfx = “r“;
public linkedList body = new linkedList
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 301 2018-05-23 20:45 简单贪吃蛇\.classpath
文件 391 2018-06-16 16:40 简单贪吃蛇\.project
文件 598 2018-05-23 20:45 简单贪吃蛇\.settings\org.eclipse.jdt.core.prefs
文件 1860 2018-06-16 17:02 简单贪吃蛇\bin\贪吃蛇\DisplayPanel$Activepanel$qd.class
文件 2367 2018-06-16 17:02 简单贪吃蛇\bin\贪吃蛇\DisplayPanel$Activepanel.class
文件 1515 2018-06-16 17:02 简单贪吃蛇\bin\贪吃蛇\DisplayPanel$Food.class
文件 721 2018-06-16 17:02 简单贪吃蛇\bin\贪吃蛇\DisplayPanel$key.class
文件 2375 2018-06-16 17:02 简单贪吃蛇\bin\贪吃蛇\DisplayPanel$Poisonousfood.class
文件 4622 2018-06-16 17:02 简单贪吃蛇\bin\贪吃蛇\DisplayPanel$Snake.class
文件 2055 2018-06-16 17:02 简单贪吃蛇\bin\贪吃蛇\DisplayPanel.class
文件 8574 2018-06-16 17:02 简单贪吃蛇\src\贪吃蛇\DisplayPanel.java
目录 0 2018-06-16 17:03 简单贪吃蛇\bin\贪吃蛇
目录 0 2018-06-16 17:03 简单贪吃蛇\src\贪吃蛇
目录 0 2018-06-16 17:03 简单贪吃蛇\.settings
目录 0 2018-06-16 17:03 简单贪吃蛇\bin
目录 0 2018-06-16 17:03 简单贪吃蛇\src
目录 0 2018-06-16 17:03 简单贪吃蛇
----------- --------- ---------- ----- ----
25379 17
- 上一篇:项目源码java项目TT商城
- 下一篇:Android简单的计时器源码
相关资源
- jsonarray所必需的6个jar包.rar
- 三角网构TIN生成算法,Java语言实现
- java代码编写将excel数据导入到mysql数据
- Java写的cmm词法分析器源代码及javacc学
- JAVA JSP公司财务管理系统 源代码 论文
- JSP+MYSQL旅行社管理信息系统
- 推荐算法的JAVA实现
- 基于Java的酒店管理系统源码(毕业设
- java-图片识别 图片比较
- android毕业设计
- java23种设计模式+23个实例demo
- java Socket发送/接受报文
- JAVA828436
- java界面美化 提供多套皮肤直接使用
- 在线聊天系统(java代码)
- 基于Java的图书管理系统807185
- java中实现将页面数据导入Excel中
- java 企业销售管理系统
- java做的聊天系统(包括正规课程设计
- Java编写的qq聊天室
- 商店商品管理系统 JAVA写的 有界面
- JAVA开发聊天室程序
- 在linux系统下用java执行系统命令实例
- java期末考试试题两套(答案) 选择(
- JAVA3D编程示例(建模、交互)
- Java 文件加密传输
- java做的房产管理系统
- 基于jsp的bbs论坛 非常详细
- [免费]java实现有障碍物的贪吃蛇游戏
- java Servlet投票实例
评论
共有 条评论