- 15
- 0
- 约1.31万字
- 约 16页
- 2016-11-25 发布于浙江
- 举报
java编写的贪吃蛇游戏源码
函数程序结构图
二、题目分析
通过分析该程序基本需要以下几个类:Text(Main方法)、Snake(蛇)、Food(食物)、Yard(窗口)、Map(地图)、Node(节点)、PaintThread(线程)、Dir(方向)、KeyMonitor(键盘监听)。主要实现蛇运动的基本操作和一些事件反应、游戏分数的记录、暂停、重新开始、更改蛇蛇颜色,蛇的移动速度,地图、死亡模式的改变等功能。
本程序运用Java语言知识,用面向对象的思维设计“贪吃蛇”游戏。
结果分析
运行程序出现游戏界面,蛇(Snake)头自动向前移动,用键盘的上(Up)下(Down)左(Left)右(Right)键控制蛇头的移动方向。游戏窗体中在随机位置出现紫色的食物(Food)。
1、每吃一个加5分
2、默认撞墙不死
3、默认速度3
4、默认地图1
5、默认普通蛇身
6、默认30分提升一个速度档次
7、默认每个速度都走完后更换地图并且速度恢复默认,积分归零
功能键:
1、按F1重新开始
2、按空格键暂停/继续
3、按1/2/3/4/5数字键设置蛇的移动速度(逐渐变快)
4、按F2更换地图(3种)
5、按F3普通蛇/彩蛇的切换
6、按F4更换游戏模式(蛇撞到最外围为死亡还是从另一端返回)
该程序初步完成了“贪吃蛇”的游戏雏形,但是缺乏完善。比如:界面效果十分粗糙、屏幕闪烁、缺少声音等。但是,我们通过编写贪吃蛇,能更好的运用面向对象的思维方式了,并学到了许多有用的经验。
附录(程序清单)
Snake.java
import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.KeyEvent;
public class Snake {
Node head = null;
Node tail = null;
int size = 0;
Yard y;
Node n = new Node(1, 2, Dir.D);
public Snake(Yard y) {
head = n;
tail = n;
size = 1;
this.y = y;
for(int i=0;i3;i++)
this.Headadd();
}
public void Tailadd() {
Node node = null;
switch (tail.dir) {
case L :
node = new Node(tail.m+1, tail.n, tail.dir);
break;
case U :
node = new Node(tail.m, tail.n+1, tail.dir);
break;
case R :
node = new Node(tail.m-1, tail.n, tail.dir);
break;
case D :
node = new Node(tail.m, tail.n+1, tail.dir);
break;
}
tail.next = node;
node.pre = tail;
tail = node;
size ++;
}
public void Deltail() {
if (size == 0)
return;
tail = tail.pre;
tail.next = null;
}
public void Headadd() {
Node node = null;
switch (head.dir) {
case L:
node = new Node(head.m - 1, head.n, head.dir);
break;
case U:
node = new Node(head.m, head.n - 1, head.dir);
break;
case R:
node = new Node(head.m + 1, head.n, head.dir);
break;
case D:
node = new Node(head.m, head.n + 1, head.dir);
break;
}
node.next = head;
head.pre = node;
head = node;
size++;
}
public void draw(Gr
您可能关注的文档
最近下载
- 反应机理(研)-高等无机化学.ppt VIP
- 218SS-PKE 摩托车操作说明书.pdf
- 2025年高考甘肃卷物理真题.docx VIP
- 凯恩帝K1TBIII-A-As数控系统用户手册.pdf
- 杭州电子科技大学信息工程学院2025-2026学年《概率论与数理统计2》第一学期期末试题(B).docx VIP
- 第2章 有理数的运算(单元测试·培优卷)含答案-2024人教版七年级数学上册.pdf VIP
- 中考1600词汇对照表(英译汉).doc VIP
- 杭州电子科技大学2025-2026学年《概率论与数理统计2》第一学期期末试题(B).docx VIP
- 香农三大定理详解.ppt VIP
- 【初中物理】专项练习:物体的密度及其测定40题(附答案).pdf VIP
原创力文档

文档评论(0)