《贪吃蛇Java课程设计.doc
文本预览下载声明
目录
1.设计任务与要求 2
1.1设计任务 2
1.2具体要求 2
2.软件主要模块流程图 3
3.总体方案与说明 4
3.1总体方案 4
3.2系统模块 4
3.2.1游戏界面设计 4
3.2.2贪吃蛇蛇身及运动设置 6
3.2.3游戏控制设置 3
4.程序设计 4
4.1GamePanel类 4
4.2.Snake类 4
5.分析问题与解决方案 5
5.1 问题处理 5
6小结与体会 6
参考文献(资料) 7
程序代码: 8
基于Java的游戏“贪吃蛇”的设计和实现
内容提要:
“贪吃蛇”游戏是一个经典的游戏,它因操作简单、娱乐性强而广受欢迎。本文基于Java技术开发环境,开发了一个操作简单、界面美观、功能较齐全的“贪吃蛇”游戏。整个游戏程序分六个类模块,实现了游戏的开始、暂停、结束。通过本游戏的开发,达到学习Java技术和熟悉软件开发流程的目的。
1.设计任务与要求
1.1设计任务
设计一个贪吃蛇的游戏
功能要求:能够显示贪吃蛇的运动,能通过键盘控制贪吃蛇的运行,能够处理蛇在运行中各种情况,以及其它的辅助功能。
设计任务要完成设计、编码、测试等过程,给出设计思路、主要代码。源代码以及可运行的贪吃蛇游戏。
1.2具体要求
具体内容如下:
1) 设计任务与要求
2) 总体方案与说明
3) 面向对象的设计(主要类的设计)
4) 源程序清单与注释
5) 软件主要模块流程图
6) 问题分析与解决方案(包括调式记录、调式报告,即在调式过程中遇到的主要问题、解决方法及改进设想);
7) 小结与体会
2.软件主要模块流程图
软件的主要模块流程如下图5-1所示
3.总体方案与说明
3.1总体方案
我们设计的贪吃蛇主要利用键盘控制蛇的前进移动方向,是否吃到食物,是否撞墙以及是否暂停、开始游戏等。当吃到食物的时候,蛇就自动长大一格,在游戏中可进行暂停和开始操作。中途若是撞到墙或是撞到自己,同样也结束。
3.2系统模块
根据总体方案,我把贪吃蛇游戏分为:游戏界面设置(即绘图)、贪吃蛇蛇身及运动与碰撞问题(食物、蛇身、石头)设置三大模块来设计。
3.2.1游戏界面设计
游戏界面设置包括:游戏区,蛇的长度信息,获得分数的信息以及历史最高分的信息。
游戏界面使用简单和直观的布局设计,游戏区放置在界面的主题位置上,在游戏区右上方放置蛇的长度数据及获得的分数数据,具体设计效果如图2-1所示。
图2-1 游戏界面
附加代码:
import java.awt.*;
import java.io.*;
import java.util.*;
import javax.swing.JFrame;
public class GameFrame extends JFrame {
public GamePanel panel = new GamePanel(this);
public Snake xiaoqing = new Snake(this);
public Control ct = new Control(this);
public Food food = new Food(this);
public LinkedListRocks rocks = new LinkedListRocks();
public GameFrame(){
}
public void intiRocks(){
}
public void inti() {
}
private Snake snake;
Properties dbconfig = new Properties();
static FileInputStream file;
public String msg() throws IOException{
}
private class SnakeDriver implements Runnable {
@Override
public void run() {
}
public static void main(String[] args) {
GameFrame gf = new GameFrame();
}
}
3.2.2贪吃蛇蛇身及运动设置
贪吃蛇的蛇身设置是整个游戏设计的关键。它的基本思路是:移动的时候去掉蛇尾,将其添加在蛇头(去尾加头),吃到食物时将之前去掉的尾部在重新加上,完成蛇头吃食物的处理操作,显示蛇头。具体效果如图2-2所示。
而蛇运动的四个方向,则通过按键来控制。蛇吃到一个食物,就加分。每次食物出现的位置不能在蛇身上也不能在屏幕外面,如果蛇在运动的过程中撞到自己或者撞墙,则
显示全部