当前位置:文档之家› 基于Java的贪吃蛇开发文档

基于Java的贪吃蛇开发文档

基于Java的贪吃蛇开发文档
基于Java的贪吃蛇开发文档

中南林业科技大学

《小组软件过程实验》

实验报告

题目:2D游戏贪食蛇软件开发

专业班级:11级软件工程2班

组长:xxx

成员:xxxx

指导教师:xxxxx

完成日期:2014/4/15

目录

1 软件项目开发计划………………………………………………(页码)

2 软件需求规格说明书……………………………………………(页码)

3 软件配置管理计划……………………………………………(页码)

4 软件设计规格说明………………………………………………(页码)

5 软件测试计划……………………………………………………(页码)

6 软件测试分析报告………………………………………………(页码)

7 软件项目开发总结报告…………………………………………(页码)附件A:

小组制定的软件过程规范……………………………………(页码)附件B:

其他软件开发过程记录信息……………………………………(页码)

小组成员角色与分工情况表

姓名职责和完成的工作项目组评定xxx 组长,完成代码,分配任务和总结良好xxx 组员,完成部分代码和文档五、六部分良好xxx 组员,完成部分代码和文档三、四部分良好xxx 组员,完成部分代码和文档一、二部分良好

一、软件项目开发计划

完成人:xxxx

1引言

1.1编写目的

本文档的目的是明确基于JAVA的贪吃蛇项目的基本需求分析,明确项目中各个任务系统的不同分工,分析项目的核心功能和项目所需要达到的预期目标。期望读者包括:项目发起人、项目执行团队、指导老师。

1.2 背景

近年来,Java作为一种新的编程语言,以其简单性、可移植性和平台无关性等优点,得到了广泛地应用,特别是Java与万维网的完美结合,使其成为网络编程和嵌入式编程领域的首选编程语言。贪吃蛇游戏的设计比较复杂,它涉及面广、牵涉方面多,如果不好好考虑和设计,将难以成功开发出这个游戏。在这个游戏的设计中,牵涉到图形界面的显示与更新、数据的收集与更新,并且在这个游戏的开发中,还要应用类的继承机制以及一些设计模式。因此,如何设计和开发好这个贪吃蛇游戏,对于提高Java开发水平和系统的设计能力有极大的帮助。在设计开发过程中,需要处理好各个类之间的继承关系,还要处理各个类相应的封装,并且还要协调好各个模块之间的逻辑依赖关系和数据通信关系。

“贪吃蛇”游戏是一个经典的游戏,它因操作简单、娱乐性强而广受欢迎。本文基于Java技术,开发了一个操作简单、界面美观、功能较齐全的“贪吃蛇”游戏。整个游戏程序分为二个功能模块,四个类模块,实现了游戏的开始、暂停、结束。通过本游戏的开发,达到学习Java技术和熟悉软件开发流程的目的。

1.3定义

JA V A:Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和java平台的总称。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。

运行环境:意指一种把半编译的执行码在目标机器上运行的环境。

算法:算法可以理解为有基本运算及规定的运算顺序所构成的完整的解题步骤。或者看成按照要求设计好的有限的确切的计算序列,并且这样的步骤和序列可以解决一类问题。

编译处理:利用编译程序从源语言编写的源程序产生目标程序的过程;用编译程序产生目标程序的动作。编译就是把高级语言变成计算机可以识别的2进制语言,计算机只认识1和0,编译程序把人们熟悉的语言换成2进制的。编译程序把一个源程序翻译成目标程序的工作过程分为五个阶段:词法分析;语法分析;语义检查和中间代码生成;代码优化;目标代码生成。主要是进行词法分析和语法分析,又称为源程序分析,分析过程中发现有语法错误,给出提示信息。

调试运行:检查和修改程序中的错误,保证它能正确无误地运行是程序设计工作中的重要一环。

1.4参考资料

1.Java从入门到精通魔乐科技(MLDN)软件实训中心编著/2010-04-01/人民邮电出版社

2.Java编程思想(第4版)2007-06-01/机械工业出版社

3.轻量级Java EE企业应用实战(第3版)李刚编著/2012-04-01/电子工业出版社

4.疯狂Java讲义(第2版)李刚编著/2012-01-01/电子工业出版社

5.Java语言程序设计:基础篇(第8版)(美)梁勇著,李娜译/2011-06-01/机械工业出版社

6.Effective Java中文版(第2版) (美)布洛克著,杨春花,俞黎敏机械工业出版社

2项目概述

2.1工作内容

本项目需开发出一个可以在windos操作系统上运行的贪吃蛇游戏,要用到J2EE开发环境和eclipse开发工具,使用的JDK版本为6.0。所需文档包括可行性分析(研究)报告(FAR)和软件需求规格说明书(SRS)。在系统生命周期中处于软件开发时期。选用四人小组开发计划,由四人配合一起完成软件的开发。

2.2主要参加人员

xx 组长

xxx 组员

xx 组员

xx 组员

2.3产品

2.3.1程序

1. 对功能的规定

本设计所开发的是基于Java的一个贪吃蛇游戏软件,主要实现游戏的开始、暂停、退出等功能,分为:游戏主界面模块、游戏控制模块两个模块。

游戏主界面模块:

主要包括游戏图形区域界面、游戏开始、暂停、退出、加速、减速。

游戏控制模块:

主要完成游戏的开始、暂停、退出、加速、减速等功能。

2. 对性能的规定

本游戏在设计方面本着方便、实用及娱乐性高的宗旨,在对界面进行设计的过程中,始终坚持清晰明了,在性能方面能够实现效率高,不易出错等优点。

游戏主界面应该力求美观,赏心悦目。游戏控制模块应做到易懂、易操作,而且准确率高,不易出错。

3. 输入输出要求

输入:玩家可以通过快捷键控制游戏,比如快捷键“ENTER”开始游戏,“空格”暂停游戏,“pageUp”贪食蛇加速,“pageDown”贪食蛇减速。键盘上的方向键控制蛇的移动方向。

输出:玩家所得的分数,玩家所用的时间。当玩家所控制的蛇死亡后,要输出一个提示消息“OH,你死啦,需要重新开始么?”表示蛇的死亡,然后点击确定重新开始游戏。

4. 业务流程图

5. 数据流图

6. 功能分析图

2.3.3服务

1. 设备

WindowsXP

2.支持软件

Eclipse

3.接口

KeyListener:监听按键,控制蛇的行动或游戏的运行;

2.3.4非移交的产品

测试版本:SG1.0

2.4验收标准

可运行的完整游戏程序。

2.5完成项目的最迟期限

2014.4.16

2.6本计划的批准者和批准日期

3实施计划

3.1工作任务的分解与人员分工

xxxx 任务分配,程序调试,代码编写,软件开发项目总结

xxx 程序调试,代码编写,计划与需求文档

xx 程序调试,代码编写,设计规格说明书与软件配置管理计划

xx 程序调试,代码编写,软件测试计划与软件测试分析报告

3.2进度

对于需求分析、设计、编码实现、测试、移交、培训和安装等工作,给出每项工作任务的预定开始日期、完成日期及所需资源,规定各项工作任务完成的先后顺序以及表征每项工作任务完成的标志性事件(即所谓“里程碑)。

3.3关键问题

逐项列出能够影响整个项目成败的关键问题、技术难点和风险,指出这些问题对项目的影响。

4支持条件

四台能正常运行eclips的计算机.

二、需求规格说明书

完成人:xxx

1.概述(Summary)

1.1项目的目的与目标(Purpose and Aim of Project)

本系统主要是完成贪吃蛇游戏的基本操作。用户可以自己练习和娱乐。本系统需要满足以下几点要求:

(1) 利用方向键来改变蛇的运行方向。

(2) 空格键暂停或继续游戏,并在随机的地方产生食物。

(3) 吃到食物就变成新的蛇体,碰到壁或自身则游戏结束,否则正常运行。2.目标系统功能需求(Function of Target System)

本设计所开发的是基于Java的一个贪吃蛇游戏软件,主要实现游戏的开始、暂停、退出等功能,分为:游戏主界面模块、游戏控制模块两个模块。

游戏主界面模块:

主要包括游戏图形区域界面、游戏开始、暂停、退出、减速、加速。

游戏控制模块:

主要完成游戏的开始、暂停、退出等功能。

3.目标系统性能需求(Performance of Target System)

本游戏在设计方面本着方便、实用及娱乐性高的宗旨,在对界面进行设计的过程中,始终坚持清晰明了,在性能方面能够实现效率高,不易出错等优点。

4.目标系统界面与接口需求(Interface of Target System)

4.1 界面需求(Interphase Requirement)

游戏主界面应该力求美观,赏心悦目。游戏控制模块应做到易懂、易操作,而且准确率高,不易出错(。

4.2 接口需求(Interface Requirement)

5.目标系统假设与约束条件(Suppose and Restriction of Target System)5.1. 设备

WindowsXP

5.2.支持软件

Eclipse

5.3.接口

SnakeListener:

Void SankeMoved(Snake);

三、软件配置管理计划

完成人:xx

1.引言

软件配置管理计划对于软件开发管理是非常重要的,其主要思想在于版本控制。版本控制是软件配置管理计划的核心思想之一,是指对软件开发过程中各种程序代码、配置文件及说明文档等文件变更的管理。版本控制最主要的功能就是追踪文件的变更。它将什么时候、什么人更改了文件的什么内容等信息忠实地记录下来。每一次文件的改变,文件的版本号都将增加。除了记录版本变更外,版本控制的另一个重要功能是并行开发

1.目的

2D游戏贪食蛇软件正常运行,记录游戏运行时的各种状态,如:加速、减速、重新开始以及暂停

1.2 定义和缩写词

本计划中用到的一些术语的定义按GB/T 11457 和GB/T 12504

1.3 参考资料

GB/T 11457 软件工程术语

GB 8566 计算机软件开发规范

GB 8567 计算机软件产品开发文件编制指南

2 管理

2.1 机构

在本游戏软件整个开发期间,必须成立软件配置管理小组负责配置管理工作。软件配置管理人员应该根据对该游戏的具体要求,制订必要的规程和规定,以确保完全遵守本计划规定的所有要求

2.2 任务

A .负责审定软件基线的建立和配置的标识

B .实施项目的配置好管理

C .组长审核配置管理活动

2.3 职责

A.对有关软件配置管理的各项工作全面负责,特别要对更改建议的审批和评审负责;

B.负责监督在软件配置管理工作中认真执行软件工程规范;

C.负责检查配置更改时的质量保证措施;

D.负责实施各自的配置管理工作,并参与游戏的功能配置检查和物理配置检查;E.用户代表负责反映用户对配置管理的要求,并协助检查各类人员对软件配置管理计划的执行情况;

F.负责审查所采用的配置管理工具、技术和方法,并负责汇总、维护和保存有关软件配置管理活动的各项记录

2.4 接口控制

KeyListener:按键控制

Runnable:多线程

Observer:观察者模式

2.5 实现

建立软件配置管理小组:在批准软件配置管理计划之后,立即成立软件配置管理小组。

建立各阶段的配置基线:随着贪食蛇软件任务书的评审和批准,建立起功能基线;随着《贪食蛇游戏软件需求规格说明书》的批准,建立起指派基线;随着游戏软件的集成与系统测试的完成,建立起产品基线。

建立软件库:在本项目所属的各个子系统的研制工作的开始,就建立起各个子系统的软件开发库,并在本项目配置管理小组的计算机上建立起有关该系统及其子系统的软件受控库。以后在每个开发阶段的结束,建立各个子系统的新的开发库,同时把这个阶段的阶段产品送入总的软件受控库,并在各个子系统的计算机上建立软件受控库的副本。软件受控库必须以主软件受控库为准。当全部开发工作结束,在配置管理小组的计算机上建立起软件产品库,并在各子系统的计算机上建立软件产品库的副本

3 软件配置管理活动

3.1 配置标识

标题:贪食蛇(Snake Game)

版本号:SG1.0

3.1.1 基线

版本:“SG1.0”

3.1.2 代码,文档

GreedSnake:添加一个观察者,开始游戏,多线程

SnakeControl:监听处理,对按键进行监听并产生行为SnakeModel:游戏模板,包括初始化蛇,对食物的初始化,分数规则等SnakeView:游戏视图,游戏的界面处理

四、设计规格说明书

完成人:xx

1.引言(Introduction)

本章对该文档的目的、功能范围、术语、相关文档、参考资料等进行说明

1.1 目的(Purpose)

目的旨在推动软件工程的规范化,使设计人员遵循统一的概要设计书写规范,节省制作文档的时间,降低系统实现的风险,做到系统设计的规范性与全面性,以利于系统的实现、测试、维护、升级等

1.2 命名规则(Naming Rule)

变量对象命名规则:申明全局变量、局部变量对象的命名规则。

数据库对象命名规则:申明数据库表名、字段名、索引名、视图名等对象的命名规则。

1.3 参考资料(References)

1.Java从入门到精通魔乐科技(MLDN)软件实训中心编著/2010-04-01/人民邮电出版社

2.Java编程思想(第4版)2007-06-01/机械工业出版社

3.轻量级Java EE企业应用实战(第3版)李刚编著/2012-04-01/电子工业出版社

4.疯狂Java讲义(第2版)李刚编著/2012-01-01/电子工业出版社

5.Java语言程序设计:基础篇(第8版)(美)梁勇著,李娜译/2011-06-01/机械工业出版社

6.Effective Java中文版(第2版) (美)布洛克著,杨春花,俞黎敏机械工业出版社

1.4 相关文档(Related Documents)

源程序

GreedSnake:主体类

public class GreedSnake {

public static void main(String[] args) {

SnakeModel model = new SnakeModel(20,30);

SnakeControl control = new SnakeControl(model);

SnakeView view = new SnakeView(model,control);

//添加一个观察者,让view成为model的观察者 model.addObserver(view);

(new Thread(model)).start();

}

}

SnakeControl:控制类

import java.awt.event.KeyEvent;

import java.awt.event.KeyListener;

public class SnakeControl implements KeyListener { SnakeModel model;

public SnakeControl(SnakeModel model) {

this.model = model;

}

public void keyPressed(KeyEvent e) {

int keyCode = e.getKeyCode();

if (model.running) { // 运行状态下,处理的按键

switch (keyCode) {

case KeyEvent.VK_UP:

model.changeDirection(SnakeModel.UP);

break;

case KeyEvent.VK_DOWN:

model.changeDirection(SnakeModel.DOWN);

break;

case KeyEvent.VK_LEFT:

model.changeDirection(SnakeModel.LEFT);

break;

case KeyEvent.VK_RIGHT:

model.changeDirection(SnakeModel.RIGHT);

break;

case KeyEvent.VK_ADD:

case KeyEvent.VK_PAGE_UP:

model.speedUp();

break;

case KeyEvent.VK_SUBTRACT:

case KeyEvent.VK_PAGE_DOWN:

model.speedDown();

break;

case KeyEvent.VK_SPACE:

case KeyEvent.VK_P:

model.changePauseState();

break;

default:

}

}

// 任何情况下处理的按键,按键导致重新启动游戏

if (keyCode == KeyEvent.VK_ENTER) {

model.reset();

}

}

public void keyReleased(KeyEvent e) {

}

public void keyTyped(KeyEvent e) {

}

}

SnakeModel:模板类

import javax.swing.*;

import java.util.Arrays;

import java.util.LinkedList;

import java.util.Observable;

import java.util.Random;

public class SnakeModel extends Observable implements Runnable{ boolean[][] matrix; // 指示位置上有没蛇

体或食物

LinkedList nodeArray = new LinkedList(); // 蛇体

Node food;

int maxX;

int maxY;

int direction = 2; // 蛇运行的方向

boolean running = false; // 运行状态

int timeInterval = 200; // 时间间隔,毫秒

double speedChangeRate = 0.75; // 每次得速度变化率

boolean paused = false; // 暂停标志

int score = 0; // 得分

int countMove = 0; // 吃到食物前移动的次数

// UP and DOWN should be even

// RIGHT and LEFT should be odd

public static final int UP = 2;

public static final int DOWN = 4;

public static final int LEFT = 1;

public static final int RIGHT = 3;

public SnakeModel( int maxX, int maxY) {

this.maxX = maxX;

this.maxY = maxY;

reset();

}

public void reset(){

direction = SnakeModel.UP; // 蛇运行的方向 timeInterval = 200; // 时间间隔,毫秒 paused = false; // 暂停标志

score = 0; // 得分

countMove = 0; // 吃到食物前移动

的次数

// initial matirx, 全部清0

matrix = new boolean[maxX][];

for (int i = 0; i < maxX; ++i) {

matrix[i] = new boolean[maxY];

Arrays.fill(matrix[i], false);

}

// initial the snake

// 初始化蛇体,如果横向位置超过20个,长度为10,否则为横向位置的一半

int initArrayLength = maxX > 20 ? 10 : maxX / 2;

nodeArray.clear();

for (int i = 0; i < initArrayLength; ++i) {

int x = maxX / 2 + i;//maxX被初始化为20

int y = maxY / 2; //maxY被初始化为30

//nodeArray[x,y]: [10,15]-[11,15]-[12,15]~~[20,15]

//默认的运行方向向上,所以游戏一开始nodeArray就变为:

// [10,14]-[10,15]-[11,15]-[12,15]~~[19,15]

nodeArray.addLast(new Node(x, y));

matrix[x][y] = true;

}

// 创建食物

food = createFood();

matrix[food.x][food.y] = true;

}

public void changeDirection(int newDirection) {

// 改变的方向不能与原来方向同向或反向

if (direction % 2 != newDirection % 2) {

direction = newDirection;

}

}

java课程设计之贪吃蛇

系统描述 (1) 1.1本设计的目的和意义 (1) 1.2设计的主要内容 (1) 1.3设计要达到的目标 (2) 1.4设计需要实现的功能和目标 (2) 1.5游戏设计环境 (2) 二分析与设计 (3) 2.1 游戏处理流程 (3) 2.2需求分析 (4) 2.3功能模块设计 (4) 2.4详细设计 (8) 三系统测试 (19) 四心得体会 (21) 五参考文献 (22) 六附录 (24)

基于Java的游戏“贪吃蛇”的设计和实现 内容提要: “贪吃蛇”游戏是一个经典的游戏,它因操作简单、娱乐性强而广受欢迎。本文基于Java技术和JBuilder开发环境,开发了一个操作简单、界面美观、功能较齐全的“贪吃蛇”游戏。整个游戏程序分为二个功能模块,六个类模块,实现了游戏的开始、暂停、结束。通过本游戏的开发,达到学习Java技术和熟悉软 件开发流程的目的。 一系统描述 1.1本设计的目的和意义 贪吃蛇游戏一款非常经典的手机游戏,因为它比较简单有趣,无论老少都比较适合。贪吃蛇的设计对每一个Java语言设计者进行语言提高和进阶都是一个很好的锻炼机会。 贪吃蛇游戏的设计比较复杂,它涉及面广、牵涉方面多,如果不好好考虑和设计,将难以成功开发出这个游戏。在这个游戏的设计中,牵涉到图形界面的显示与更新、数据的收集与更新,并且在这个游戏的开发中,还要应用类的继承机制以及一些设计模式。因此,如何设计和开发好这个贪吃蛇游戏,对于提高Java开发水平和系统的设计能力有极大的帮助。在设计开发过程中,需要处理好各个类之间的继承关系,还要处理各个类相应的封装,并且还要协调好各个模块之间的逻辑依赖关系和数据通信关系。 正是因为如此,本次毕业设计的目的在于学习Java程序设计基本技术,学习用JBuilder开发Java程序的相关技术,熟悉游戏“贪吃蛇”的需求,熟悉项目开发的完整过程。学会怎样进行一个项目的需求分析、概要设计、详细设计等软件开发过程,熟练地掌握Java程序设计的基本技术和方法,熟练地掌握JBuilder环境的使用方法,培养起初步的项目分析能力和程序设计能力。 1.2设计的主要内容 贪吃蛇游戏设计与实现,主要分为以下二个模块:游戏主界面模块游戏控制模块。在此只实现游戏的游戏主界面模块、游戏控制模块。并且只是实现开始、暂停、退出等功能。

java课程设计贪吃蛇游戏设计

前言 Java最初被命名为Oak,目标设定在家用电器等小型系统的编程语言,来解决诸如电视机、电话、闹钟、烤面包机等家用电器的控制和通讯问题。由于这些智能化家电的市场需求没有预期的高,Sun放弃了该项计划。就在Oak几近失败之时,随着互联网的发展,Sun看到了Oak在计算机网络上的广阔应用前景。于是改造了Oak,以“Java”的名称正式发布。 Java 编程语言的风格十分接近C、C++语言。Java是一个纯的面向对象的程序设计语言,它继承了 C++ 语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java SE 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。 Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。不过,每次的编译执行需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。但在J2SE 1.4.2 发布后,Java 的执行速度有了大幅提升。 与传统程序不同,Sun 公司在推出 Java 之际就将其作为一种开放的技术。全球数以万计的 Java 开发公司被要求所设计的 Java 软件必须相互兼容。“Java 语言靠群体的力量而非公司的力量”是 Sun 公司的口号之一,并获得了广大软件开发商的认同。这与微软公司所倡导的注重精英和封闭式的模式完全不同。 Sun 公司对 Java 编程语言的解释是:Java 编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。

贪吃蛇java实验报告doc

贪吃蛇java实验报告 篇一:JAVA贪吃蛇课程设计报告 《Java应用开发》课程设计报告 题目:指导老师:姓名:专业:班级:日期: JAVA小游戏 - 贪吃蛇 目录 一、系统总体设计 ................................. 1 (一)设计目标及完成功能 ........................ 1 (二)系统结构设计 .............................. 1 二、详细设计 ..................................... 2(一) 界面设计 ................................... 2 (二) 系统设计 ................................... 4 (三) 关键技术及算法 ............................. 6 四、测试 ......................................... 7五、安装使用说明 ................................. 7总结(体会) ..................................... 8参考文献 .. (8) 一、系统总体设计 (一)设计目标及完成功能 本软件是针对贪吃蛇小游戏的JAVA程序,利用上、下、左、右方向键来改变蛇的运动方向,长按某个方向键后,蛇

的运动速度会加快,在随机的地方产生食物,吃到食物就变成新的蛇体,碰到壁或自身则游戏结束,否则正常进行游戏,在到达固定的分数后,游戏速度会加快。 1.窗口功能说明:设计了三个窗口,分别是游戏主窗口,成绩窗口,游戏帮助和关于作者窗口。 2.菜单栏分别为:游戏菜单和帮助菜单 其中,游戏菜单包括开始游戏和退出游戏两项;帮助菜单包括游戏帮助和关于作者两项。 (二)系统结构设计 图1-1 系统结构图 二、详细设计 (一) 界面设计 贪吃蛇游戏的基本运行界面(1)生成初始界面: 图2-1 初始界面 (2)游戏菜单栏 : 图2-2 游戏菜单 (2)积分排行菜单栏 : 图2-3 积分排行菜单 (3)进行游戏界面: 点击“游戏”,进入游戏菜单,选择“开始游戏”,或者

Java课程设计之贪吃蛇

Java课程设计之贪吃蛇 安阳工学院计算机学院 JAVA课程设计报告 专业班级: 学生姓名: 学生学号: 小组成员: 指导教师姓名: 宋强 目录 一选题目的与系统概述 (1) 1.1选题目的 (1) 1.2系统概述.................................................................................1 二系统可行性分析与相关技术背景分析 (2) 2.1系统可行性分析 (2) 2.2相关技术背景分析.....................................................................2 三系统设计与关键技术 (3) 3.1系统设计 (3) 3.2关键技术.................................................................................5 四系统测试与操作实施方法.........................................................9 五系统设计总结与回顾 (11) 六参考文献 (12) 一、选题目的与系统概述 1.1 选题目的 贪吃蛇游戏是一款非常经典的游戏,因为它比较简单有趣,无论老少都比较适合。贪吃蛇的设计对每一个Java语言设计者进行语言提高和进阶都是一个很好的锻炼机会。

在这个游戏的设计中,牵涉到图形界面的显示与更新、数据的收集与更新,并且在这个游戏的开发中,还要应用类的继承机制以及一些设计模式。因此,如何设计和开发好这个贪吃蛇游戏,对于提高Java开发水平和系统的设计能力有极大的帮助。在设计开发过程中,需要处理好各个类之间的继承关系,还要处理各个类相应的封装,并且还要协调好各个模块之间的逻辑依赖关系和数据通信关系。 正是因为如此,本次设计的目的在于学习Java程序设计基本技术,学习用Netbeans开发Java程序的相关技术,熟悉游戏“贪吃蛇”的需求,熟悉项目开发的完整过程。学会怎样进行一个项目的需求分析、概要设计、详细设计等软件开发过程,熟练地掌握Java程序设计的基本技术和方法,熟练地掌握Netbeans环境的使用方法,培养起初步的项目分析能力和程序设计能力。 1.2 系统概述 1.2.1 设计的主要内容 贪吃蛇游戏设计与实现,主要分为以下二个模块:游戏主界面模块和游戏控制模块。在此只实现游戏的游戏主界面模块、游戏控制模块。可实现开始、暂停、改变速度,更换颜色等功能。 1.2.2 设计要达到的目标 本次设计要达到的目标分别从以下模块进行阐述: 游戏主界面模块: 游戏的主界面是进入游戏后,能够给玩家第一感官的部分,主要包括游戏场景、状态栏、颜色设置、网格模式、及相关提示信息等。从很大程度上决定了玩家对游戏的兴趣问题,因此,游戏的主界面应该力求美观,爽心悦目。 游戏控制模块: 这个模块是游戏的中心环节,主要完成控制游戏的开始、暂停等功能。为了能

java贪吃蛇课程设计

1设计目的 1.1背景 近年来,Java作为一种新的编程语言,以其简单性、可移植性和平台无关性等优点,得到了广泛地应用,特别是Java与万维网的完美结合,使其成为网络编程和嵌入式编程领域的首选编程语言。JBuilder是Borland公司用于快速开发Java应用的一款优秀的集成开发环境,它以其友好的开发界面、强大的组件支持等优点,得到广大程序员的接受和认可。 “贪吃蛇”游戏是一个经典的游戏,它因操作简单、娱乐性强而广受欢迎。本文基于Java技术和JBuilder开发环境,开发了一个操作简单、界面美观、功能较齐全的“贪吃蛇”游戏。整个游戏程序分为二个功能模块,六个类模块,实现了游戏的开始、暂停、结束。通过本游戏的开发,达到学习Java技术和熟悉软件开发流程的目的。 本文在介绍Java相关技术和国内外发展现状的基础上,对“贪吃蛇”游戏的整个生命周期的各个开发阶段进行了详细地介绍。首先,分析了开发本游戏软件的可行性,重点分析本设计所采用的技术的可行性。其次,从游戏主界面等几方面,分析了本游戏的功能需求;从可使用性和安全性方面分析了属性需求。然后,进行了游戏的概要设计和详细设计,这也是本文的重点。概要设计给出二个功能模块的主框架以及六个类模块的函数调用关系;详细设计介绍了Java2标准运行环境的配置,重点给出各个类模块的程序流程图以及UML图,列表介绍了各个类包含的变量、使用的方法,展示了游戏的界面。为了保证程序代码的正确性和功能实现的可靠性,本文还介绍了游戏软件的程序调试过程和功能测试结果。 1.2目标 本软件是针对贪吃蛇小游戏的JAVA程序,利用方向键来改变蛇的运行方向,空格键暂停或继续游戏,并在随机的地方产生食物,吃到食物就变成新的蛇体,碰到壁或自身则游戏结束,否则正常运行。 2 总体设计 2.1 设计思路 本系统主要是完成贪吃蛇游戏的基本操作。用户可以自己练习和娱乐。本系统需要满足以下几点要求: (1) 利用方向键来改变蛇的运行方向。 (2) 空格键暂停或继续游戏,并在随机的地方产生食物。 (3) 吃到食物就变成新的蛇体,碰到壁或自身则游戏结束,否则正常运行。 2.2 设计说明 本系统共包括1个java源文件和7个类文件。

java课程设计贪吃蛇大学论文

课程设计说明书 课程名称:Java语言程序设计 设计题目:学生成绩管理系统 院系:计算机科学与信息工程学院 学生姓名:肖文 学号:14031010141 专业班级:计算机科学与技术(14嵌入) 指导教师:张阳 2015 年12月27 日

课程设计任务书 设计题目贪吃蛇小游戏程序 学生姓名肖文所在院系计科专业、年级、班14计科嵌入 设计要求: 1. 贪吃蛇游戏是大家很常见的小游戏,在生活工作之余大家可以玩它,已达到放松 各种压力的目的。 2. 游戏可以进行升级,也就是增加吃食物的难度,以便使大家更有挑战性,不觉得 太无趣。 3. 游戏界面大小可以任意指定,数据从文件读入。 4. 利用swing实现良好的GUI界面。 学生应完成的工作: 1. 贪食蛇的前移算法主要是蛇身结点前移,后面的覆盖前面的蛇身结点。依靠的调 用编写的成员方法实现。 2. 在贪吃蛇中蛇头来控制蛇的移动方向,依靠的调用编写的成员方法实现。 3. 要求用户界面采用图形用户界面,影响方向键的控制。 4. 重复的调用paint()函数来实现对界面的重绘和食物的重置。 5. 源程序中要有充分的注释,报告中要有详细的流程图。 6. 运行的结果以及图形用户界面要进行屏幕拷贝,插入报告中。 幕拷贝,插入报告中。 参考文献阅读: 1. 《Java语言程序设计》(美)Y·Daniel Liang 机械工业出版社 2. 赵毅主编.跨平台程序设计语言——Java.西安:西安电子科技大学出版社,2006 3. 王路群.Java高级程序设计.北京:中国水利水电出版社,2006 工作计划: 1,12月21日,选择该课题,然后分析结构。 2,12月21日至25日开始编写各个模块。 3,12月28日至29日,对设计的系统进行测试以及进行修改。 4,12月30日,贪吃蛇完成。 任务下达日期:2015 年12月10 日 任务完成日期:2015 年12月24 日 指导教师(签名):学生(签名):

java课程设计贪吃蛇

JAVA设计贪吃蛇游戏 1.课程设计目的 《JA V A程序设计》是计算机相关专业的必修专业基础课程,其实践性、应用性很强。实践教学环节是必不可少的一个重要环节。本课程的程序设计专题实际是计算机相关专业学生学习完《JAVA程序设计》课程后,进行的一次全面的综合训练,JA V A程序设计的设计目的是加深对理论教学内容的理解和掌握,使学生较系统地掌握程序设计及其在网络开发中的广泛应用,基本方法及技巧,为学生综合运用所学知识,利用软件工程为基础进行软件开发、并在实践应用方面打下一定基础。 2.设计方案论证 2.1设计思路 贪吃蛇游戏设计与实现,主要分为以下二个模块:游戏主界面模块和游戏控制模块。在此只实现游戏的游戏主界面模块、游戏控制模块。并且只是实现移动速度、暂停、重新开始等功能。 游戏主界面模块: 游戏的主界面是进入游戏后,能够给玩家第一感官的部分,主要包括游戏图形区域界面、游戏的速度选择更新界面、新生方块的预览、游戏速度控制按钮、暂停游戏按钮、重新开始游戏按钮以及游戏排行榜按钮。从很大程度上决定了玩家对游戏的兴趣问题,因此,游戏的主界面应该力求美观,爽心悦目。 游戏控制模块: 这个模块是游戏的中心环节,主要完成控制游戏的速度、暂停、重新开始等功能。为了能够给玩家一个很好的游戏环境,这部分应该做到易懂、易操作。 本设计所开发的是基于Java的一个贪吃蛇游戏软件,主要实现游戏的速度控制、游戏的暂停、游戏的退出等功能,分为: 游戏主界面模块、游戏控制模块以二个模块。 性能: 本软件在设计方面本着方便、实用及娱乐性高的宗旨,在对界面进行设计的过程中,始终坚持清晰明了,在性能方面能够实现效率高,不易出错等优点。

贪吃蛇课程设计

《面向对象程序设计》 课程设计报告 题目:贪吃蛇游戏设计与实现 院(系):信息科学与工程学院 专业班级:计科1302班 学生姓名:毛慧剑 学号:20131101057 指导教师:苏莹 2015年8月31日至2015年9月25日华中科技大学武昌分校制

面向对象程序设计课程设计任务书

目录 1需求与总体设计 (1) 1.1总体设计思路 (1)

1.2系统主要功能图 (1) 1.3系统主要类图 (2) 2详细设计............................................... 错误!未定义书签。 2.1 Login类............................................. 错误!未定义书签。 2.2 SnakeFrame类........................................ 错误!未定义书签。 2.3 SnakeModel类........................................ 错误!未定义书签。 2.4SnakePanel类 (3) 2. 5 LocationRO类... ......................................................错误!未定义书签。 2.6 Location类.............................................................错误!未定义书签。 3.编码实现 (4) 3.1 Login类的详细代码 (4) 3.2 SnakeFrame类的详细代码 (7) 3.3 SnakeModel类的详细代码 (12) 3.4 SnakePanel类的详细代码 (17) 3.5 LocationRO类的详细代码 (22) 3.6 Location类的详细代码 (23) 4系统运行与测试 (25) 4.1程序主界面 (25) 4.2游戏开始界面 (25) 4.3游戏操作界面 (25) 4.4游戏难度设置界面 (26) 4.5游戏窗口大小设置 (27) 4.6游戏软件开发人员介绍 (27) 5系统使用步骤 (28) 总结 (29)

JAVA贪吃蛇游戏设计文档

《JA V A贪吃蛇游戏设计》 目录 《JA V A贪吃蛇游戏设计》 (1) 目录 (1) 摘要 (2) 一.系统开发环境 (2) 1.1 开发工具 (2) 1.2 应用环境 (3) 二.java介绍 (3) 2.1java语言的特点 (3) 2.2JA V A的主要特性 (4) 2.3选题的意义 (5) 2.4研究现状 (5) 2.5研究目的 (6) 三.系统需求分析 (6) 3.1 需求分析 (6) 3.2 可行性分析 (6) 四.设计方案论证 (7) 4.1设计思路 (7) 4.2设计方法 (7) 五.系统概要设计 (11) 5.1 设计目标 (11) 5.2 系统功能模块 (11) 六.系统详细设计 (12) 6.1 程序设计 (12) 6.2 各功能界面截图 (15) 七.系统测试 (20) 7.1 测试的意义 (20) 7.2 测试过程 (21) 7.3 测试结果 (21) 7.4设计体会 (21) 7.5设计总结 (21) 八.参考文献 (22) 九.附录 (22)

摘要 近年来,Java作为一种新的编程语言,以其简单性、可移植性和平台无关性等优点,得到了广泛地应用,特别是Java与万维网的完美结合,使其成为网络编程和嵌入式编程领域的首选编程语言。JBuilder是Borland公司用于快速开发Java应用的一款优秀的集成开发环境,它以其友好的开发界面、强大的组件支持等优点,得到广大程序员的接受和认可。 “贪吃蛇”游戏是一个经典的游戏,它因操作简单、娱乐性强而广受欢迎。本文基于Java技术和JBuilder开发环境,开发了一个操作简单、界面美观、功能较齐全的“贪吃蛇”游戏。整个游戏程序分为二个功能模块,六个类模块,实现了游戏的开始、暂停、结束。通过本游戏的开发,达到学习Java技术和熟悉软件开发流程的目的。 本文在介绍Java相关技术和国内外发展现状的基础上,对“贪吃蛇”游戏的整个生命周期的各个开发阶段进行了详细地介绍。首先,分析了开发本游戏软件的可行性,重点分析本设计所采用的技术的可行性。其次,从游戏主界面等几方面,分析了本游戏的功能需求;从可使用性和安全性方面分析了属性需求。然后,进行了游戏的概要设计和详细设计,这也是本文的重点。概要设计给出二个功能模块的主框架以及六个类模块的函数调用关系;详细设计介绍了Java2标准运行环境的配置,重点给出各个类模块的程序流程图以及UML图,列表介绍了各个类包含的变量、使用的方法,展示了游戏的界面。为了保证程序代码的正确性和功能实现的可靠性,本文还介绍了游戏软件的程序调试过程和功能测试结果。 关键词:java;jdk;“贪吃蛇”游戏 一.系统开发环境 1.1 开发工具 Sun Microsystems公司在推出Java语言的同时,推出了一套开发工具JDK。Sun提供的基于字符模式的Java开发工具包JDK: Java开发工具(JDK)是许多Java专家最初使用的开发环境。Java是平台无关的语言是指用Java写的应用程序不用修改就可在不同的软硬件平台上运行。 Java源程序编写借助于记事本,Editpuls,UltraEdit等第三方编辑工具。 所有的Java文件编辑、编译、调试、解释运行都是通过使用字符命令来执行操作。JDK

java贪吃蛇课程设计

学院: 计算机工程学院班级: 11级计算机科学与技术1班 设计人员: 设计地点(单位): A5-103 设计题目: 贪吃蛇游戏 完成日期:年月日 指导教师评语: ___________________________________________________________ ____________________ 成绩(五级记分制):_________________ 教师签名:_________________________

摘要 近年来,java作为一种新的编程语言,以其简单性、可移植性和平台无关性等优点,得到了各个国家广泛地认可。本文基于java技术和Eclipse开发环境,设计并实现了一个操作简单、界面美观的“贪吃蛇”游戏。“贪吃蛇”游戏是一个经典的游戏,它因操作简单、娱乐性强而广受欢迎。就整个游戏来说,目的是通过本游戏的设计与实现,达到学习java技术和熟悉软件开发流程的目的。 关键词:java , 贪吃蛇, eclipse 目录

绪论 (1) 1 Java的概述 (2) 1.1 java的简介 (2) 1.2 环境配置 (2) 1.2.1 JDK安装 (2) 1.2.2 系统工具的选择安装 (3) 2 系统介绍 (3) 2.1 系统的介绍 (3) 2.2 设计目的 (4) 2.3 需求分析 (4) 2.3.1 游戏形状需求 (4) 2.3.2 键盘事件处理 (4) 2.3.3 显示需求 (4) 2.3.4 接口控制 (4) 3 系统设计 (5) 3.1 系统所需定义的类 (5) 3.2 功能设计 (6) 4 系统实现 (6) 4.1 界面初始化 (6) 4.2 蛇体实现 (8) 4.2.1 蛇体坐标类 (8) 4.2.2 初始化蛇体 (9) 4.2.3 蛇体变化 (9) 4.3 食物实现 (12) 4.4 障碍物实现 (12) 4.5 游戏控制实现 (12) 4.6 排行榜实现 (12) 5 游戏的测试 (13) 6 总结 (14) 致谢 (14) 参考文献 (15)

Java课程设计贪吃蛇

湖南商学院 课程设计 课程名称信息系统开发语言(二) 题目贪吃蛇游戏设计 系部计算机与信息工程学院 专业信息管理与信息系统 班级1402班 学号140940071 学生姓名刘家成 任课教师胡德发 2016年6月15日

引言 Java是一种简单的,面向对象的,分布式的,说明型的,健壮安全的,结构中立的,可移植的,性能优异、多线程的动态语言。Java 不依赖平台的特点使得它受到广泛的关注,Java已成为网络时代最重要的语言之一,Java语言不仅是一门正在被广泛使用的编程语言,而且已成为软件设计开发者应当掌握的一门基础语言。Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。 目前,很多新的技术领域都涉及Java语言,国内外许多大学已将Java语言列入了本科教学计划,掌握Java已经成为共识。本次课程设计就是利用Java语言来编写简单的猜数大小游戏,下面给出了该设计的理论分析和具体步骤。 一、选题的目的与意义 “贪吃蛇”游戏是一个经典的游戏,它因操作简单、娱乐性强而广受欢迎。本文基于Java技术开发环境,开发了一个操作简单、界面美观、功能较齐全的“贪吃蛇”游戏。整个游戏程序分六个类模块,实现了游戏的开始、暂停、结束。通过本游戏的开发,达到学习Java 技术和熟悉软件开发流程的目的,并且可以灵活的使用MyEclipse应用程序。同时更加深入的了解字符界面的编程过程。使我更熟练地掌握Java程序框架的搭建和类的创建格式。在分析阶段,要进行面向对象的需求分析、系统设计、画出相应的需求分析图。这些工作,更能锻炼我的逻辑思维,更能培养我思考的全面性。让我学会了多角度思考问题,对我以后的编程奠定了更好的基础。 对自己在这个学期学习Java语言的收获进行一个评估,发现自己的缺陷,完善自己所学会的知识,让自己掌握数据结构的应用技巧和Java的实际操作,并能解决现实问题,最终达到提高分析问题、解决问题和实践应用能力。

java课程设计贪吃蛇游戏设计

前言 Java 最初被命名为Oak,目标设定在家用电器等小型系统的编程语言,来解决诸如电视机、电话、闹 钟、烤面包机等家用电器的控制和通讯问题。由于这些智能化家电的市场需求没有预期的高,Sun 放弃了该项计划。就在Oak 几近失败之时,随着互联网的发展,Sun 看到了Oak 在计算机网络上的广阔应用前景。于是改造了Oak,以“Java”的名称正式发布。 Java 编程语言的风格十分接近C、C++语言。Java 是一个纯的面向对象的程序设 计语言,它继承了C++ 语言面向对象技术的核心。Java 舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载( operator overloading )、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在Java SE 1.5 版本中,Java 又引入了泛型编程( Generic Programming )、类型安全的枚举、不定长参数和自动装/ 拆箱等语言特性。 Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码( bytecode ),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。不过,每次的编译执行需要消耗一定的时间,这同时也在一定程度上降低了Java 程序的运行效率。但在J2SE 1.4.2 发布后,Java 的执行速度有了大幅提升。 与传统程序不同,Sun 公司在推出Java 之际就将其作为一种开放的技术。全球数以万计的Java 开发公司被要求所设计的Java 软件必须相互兼容。“ Java 语言靠群体的力量而非公司的力量”是Sun 公司的口号之一,并获得了广大软件开发商的认同。这与微软公司所倡导的注重精英和封闭式的模式完全不同。 Sun 公司对Java 编程语言的解释是:Java 编程语言是个简单、面向对象、分布式、解释性、健 壮、安全与系统无关、可移植、高性能、多线程和动态的语言。 正文 1.1 课程设计目的 《JAVA 程序设计》是计算机相关专业的必修专业基础课程,其实践性、应用性很强。实践教学环节

Java程序设计报告《贪吃蛇》

《Java程序设计》 课程设计报告 题目:贪吃蛇游戏的设计与实现 指导老师: 沈泽刚 专业: 计算机科学与技术 班级: 10-3 姓名: 梁潇

一、课程设计目的 贪吃蛇游戏一款非常经典的手机游戏,因为它比较简单有趣,无论老少都比较适合。目的就是更好地了解与掌握java语言,并熟练的运用java语言来实现项目。培养自主学习的能力。 本软件在设计方面本着方便、实用及娱乐性高的宗旨,在外界进行设计的过程中,始终坚持清晰明了,在性能方面能够实现效率高,不易出错等优点。 二、课程设计要求 贪吃蛇游戏设计与实现,主要分为以下二个模块:游戏主界面模块、游戏控制模块。 三、课程设计报告内容 (一) 系统设计 1、程序概述 本程序就是一个利用Java应用软件制作的贪吃蛇小游戏。 在游戏过程中,用户通过点击小键盘区的方向键来控制蛇的运行方向;当蛇没有吃到食物且碰到墙壁或自己的身体时游戏结束。 本程序的另一个功能就是在程序运行窗口的左上角显示,用户在游戏过程中所得的分数,不过缺点就就是在退处程序后,下次打开程序时无法保存。 2、游戏的主界面设计 游戏的主界面就是进入游戏后,能够给玩家第一感官的部分,

主要包括游戏图形区域界面、游戏的速度选择更新界面、游戏分数的显示更新界面、游戏开始按钮、暂停游戏按钮、退出游戏按钮以及游戏排行榜按钮。 3、游戏控制模块设计 这个模块就是游戏的中心环节,主要完成控制游戏的开始、暂停、退出等功能。为了能够给玩家一个很好的游戏环境,这部分应该做到易懂、易操作。 (二)主界面设计 游戏界面主框架主要包括游戏图形区域界面、游戏的开始按钮、暂停按钮、游戏的退出按钮、困难程度、积分排行、关于作者。 (三)代码设计 import java、awt、Color; import java、awt、Container; import java、awt、Graphics; import java、awt、Toolkit; import java、awt、event、ActionEvent; import java、awt、event、ActionListener;

面向对象课程设计--java__贪吃蛇

面向对象课程设计1.需求分析 1.1游戏开发的可行性 游戏开发至今已经有30多年,在这个短暂的时期里,随着硬件水平的提高,游戏开发新技术层出不穷,经典游戏比比皆是。游戏这个名称一直就存在于每个人的日常生活中,如猜拳游戏、猜谜游戏、大地游戏、球类游戏等,林林总总,不胜枚举,甚至于有些流行歌曲把人生也比喻为游戏,好比“一场游戏一场梦”。因此,游戏对于现代人的成长历程,绝对是一个不可或缺的重要角色。 1.2设计目的 综合运用在校期间所学理论知识和技能,设计开发贪吃蛇游戏,使自己熟悉应用系统的开发过程,培养独立思考能力,检验学习效果和动手能力,提高工程实践能力。 1.3游戏需求 给出1条小蛇和随机出1个食物当小蛇吃到食物时就加分。 1.3.1游戏界面需求 良好的用户界面,有分数显示。有存取档功能,并且可以暂停,还有“英雄榜”记录分数排名情况,并且可调节小蛇运动速度。 1.3.2游戏形状(方块)需求 良好的方块形状设计,绘制小蛇和食物,小蛇由几个方块组成,食物由1个方块组成。 1.3.3键盘处理事件 小蛇可通过键盘方向键(上、下、左、右键)进行向上、向下、向左、向右移动。 1.3.4显示需求 当小蛇吃掉几个食物后会变长,并且吃完食物时食物会消失,并立即随机生成1个新的食物。 1.3.5 接口控制 本软件需求通过键盘进行操作,在Windows的操作系统下,利用键盘的上、下、左、右键对小蛇进行移动操作,要使用键盘的接口事件。 2.功能设计及源程序的主要部分

2.1 游戏流程图 2.2 功能的实现,类的实现及类层次 2.2.1游戏界面 public SnakeFrame() { setSize(width, height); //设置窗体大小 setTitle("贪吃蛇"); //标题 SnakePanel panel = new SnakePanel();//游戏面板 add(panel); //将面板添加到窗体中 setLocation(260, 160); //设置窗体位置 setVisible(true); setResizable(false); //禁用窗体最大化}

JAVA贪吃蛇课程设计报告

《Java应用开发》 课程设计报告 题目: JAVA小游戏 - 贪吃蛇指导老师: 姓名: 专业: 班级: 日期:

目录 一、系统总体设计 (1) (一)设计目标及完成功能 (1) (二)系统结构设计 (1) 二、详细设计 (2) (一)界面设计 (2) (二)系统设计 (4) (三)关键技术及算法 (6) 四、测试 (7) 五、安装使用说明 (7) 总结(体会) (8) 参考文献 (8)

一、系统总体设计 (一)设计目标及完成功能 本软件是针对贪吃蛇小游戏的JAVA程序,利用上、下、左、右方向键来改变蛇的运动方向,长按某个方向键后,蛇的运动速度会加快,在随机的地方产生食物,吃到食物就变成新的蛇体,碰到壁或自身则游戏结束,否则正常进行游戏,在到达固定的分数后,游戏速度会加快。 1.窗口功能说明:设计了三个窗口,分别是游戏主窗口,成绩窗口,游戏帮助和关于作者窗口。 2.菜单栏分别为:游戏菜单和帮助菜单 其中,游戏菜单包括开始游戏和退出游戏两项;帮助菜单包括游戏帮助和关于作者两项。 (二)系统结构设计 图1-1 系统结构图

二、详细设计 (一) 界面设计 贪吃蛇游戏的基本运行界面 (1)生成初始界面: 图2-1 初始界面(2)游戏菜单栏: 图2-2 游戏菜单

(2)积分排行菜单栏: 图2-3 积分排行菜单 (3)进行游戏界面: 点击“游戏”,进入游戏菜单,选择“开始游戏”,或者使用快捷键“Ctrl+O”来开始游戏。红色为贪吃蛇的身体部分,黑色方块为食物。得分后,分数和得到食物数在左上角处实时显示。 图2-4 进行游戏

(5)游戏结束界面: 当蛇撞到墙壁或者自身的时候游戏结束。 图2-5 游戏结束界面(二) 系统设计

JAVA课程设计

11信计2012-2013(二)《Java程序设计》课程设计 设计题目JA V A设置贪吃蛇游戏 设计时间2013.6.23 至2013.6.29 学生学号20110402115 所在班级11精算 指导教师刘风华 徐州工程学院数学与物理科学学院

摘要 “贪吃蛇”游戏是一个经典的游戏,它因操作简单、娱乐性强而广受欢迎。本文基于Java技术和JBuilder开发环境,开发了一个操作简单、界面美观、功能较齐全的“贪吃蛇”游戏。整个游戏程序分为二个功能模块,六个类模块,实现了游戏的开始、暂停、结束。通过本游戏的开发,达到学习Java技术和熟悉软件开发流程的目的。 关键词Java;贪吃蛇;图形界面

目录 1课程设计的目的和意义 (1) 2分析与设计 (1) 2.1需求分析 (1) 2.1.1游戏开发的可行性 (1) 2.1.2用户的特点 (1) 2.1.3功能需求 (2) 2.1.4系统环境及工具需求 (2) 2.2设计方案论证 (2) 2.2.1设计思路 (2) 2.2.2概要设计 (3) 2.2.3详细设计 (3) 3系统实现及结果分析 (6) 4总结与心得体会 (8) 参考文献 (9) 附录:贪吃蛇算法源代码 (10)

1.课程设计的目的和意义 贪吃蛇游戏一款非常经典的游戏,因为它比较简单有趣,无论老少都比较适合。贪吃蛇的设计对每一个Java语言设计者进行语言提高和进阶都是一个很好的锻炼机会。 贪吃蛇游戏的设计比较复杂,它涉及面广、牵涉方面多,如果不好好考虑和设计,将难以成功开发出这个游戏。在这个游戏的设计中,牵涉到图形界面的显示与更新、数据的收集与更新,并且在这个游戏的开发中,还要应用类的继承机制以及一些设计模式。因此,如何设计和开发好这个贪吃蛇游戏,对于提高Java 开发水平和系统的设计能力有极大的帮助。在设计开发过程中,需要处理好各个类之间的继承关系,还要处理各个类相应的封装,并且还要协调好各个模块之间的逻辑依赖关系和数据通信关系。 正是因为如此,本次课程设计的目的在于学习Java程序设计基本技术,熟悉游戏“贪吃蛇”的需求,熟悉项目开发的完整过程。学会怎样进行一个项目的需求分析、概要设计、详细设计等软件开发过程,熟练地掌握Java程序设计的基本技术和方法,熟练地掌握JBuilder环境的使用方法,培养起初步的项目分析能力和程序设计能力。《JAVA程序设计》是计算机相关专业的必修专业基础课程,其实践性、应用性很强。实践教学环节是必不可少的一个重要环节。本课程的程序设计专题实际是计算机相关专业学生学习完《JAVA程序设计》课程后,进行的一次全面的综合训练,JAVA程序设计的设计目的是加深对理论教学内容的理解和掌握,使学生较系统地掌握程序设计及其在网络开发中的广泛应用,基本方法及技巧,为学生综合运用所学知识,利用软件工程为基础进行软件开发、并在实践应用方面打下一定基础。 2.分析与设计 2.1需求分析 2.1.1游戏开发的可行性 游戏开发至今已有30多年,在这个短暂的时期里,随着硬件水平的提高,游戏开发新技术层出不穷,经典游戏比比皆是。游戏这个名称一直就存在于每个人的日常生活中,如猜拳游戏、猜谜游戏、纸牌游戏等,林林总总,不胜枚举,甚至有些流行歌曲把人生也比喻为游戏,好比“一场游戏一场梦”。因此,游戏对于现代人的成长历程,绝对是一个不可或缺的重要角色。

Java-贪吃蛇报告

《Java高级编程》课程报告 第xx小组:贪吃蛇游戏项目 小组成员及分工 一、实验环境 操作系统:Windows 7 编程环境:Eclipse、JDK 二、实验内容与完成情况 (主要介绍项目总体功能分析与说明。) 贪吃蛇小游戏的JAVA程序是利用上↑、下↓、左←、右→方向键来改变蛇的运动方向,按空键暂停游戏,按enter键重新开始。长按某个方向键后,蛇的运动速度会加快,在随机的地方产生食物,吃到食物就变成新的蛇体,碰到壁或自身则游戏结束,否则正常进行游戏。以不同的速度和不同方向吃到食物所获得的分数也不相同。 窗口功能说明:设计了三个窗口,分别是游戏主窗口,主菜单窗口,模式选择窗口。菜单栏分别为:游戏菜单(重新开始)和帮助菜单以及返回(返回主菜单)。其中,按返回

菜单按钮后会显示主菜单,其包括游戏开始、设置、退出游戏三项按钮选择;如果按“设置”按钮会进入“模式选择”窗口。而模式选择窗口菜单包括了初级、中级、高级、返回按钮。 1、功能1(主菜单窗口) (1)主菜单窗口主要是提供“游戏开始”、“设置”和“退出”按钮。“游戏开始”按钮按下后会进入“游戏主窗口”开始游戏;“设置”按钮是调用“模 式选择”窗口对游戏贪吃蛇的速度进行设置;“退出”按钮按下则会直接退 出游戏。 (2)功能1实现的流程图 实现的效果图如下:

(3)功能1(主菜单窗口)代码:package Swing; import java.awt.Color; import java.awt.EventQueue; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.border.EmptyBorder; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; public class setMenu extends JFrame { private int speed1 = 200; public static int speed = 200;

Java贪吃蛇程序

package Package1; import java.awt.Graphics; import java.awt.Point; import PackageTool.Global; public class Food extends Point{ public void newFood(Point p){ this.setLocation(p); } public boolean isSnakeEatFood(Snake snake){ System.out.println("Food's isSnakeEatFood"); return this.equals(snake.getHead()); } public void drawMe(Graphics g){ System.out.println("Food's drawMe"); g.fill3DRect(x * Global.CELL_SIZE, y * Global.CELL_SIZE, Global.CELL_SIZE, Global.CELL_SIZE, true); } } package Package1; import java.awt.Color; import java.awt.Graphics; import java.awt.Point; import java.util.Random;

import PackageTool.Global; public class Ground { private int[][] rocks = new int[Global.WIDTH][Global.HEIGHT]; public Ground(){ for(int x = 0;x

贪吃蛇---java课程设计

武汉理工大学 课程设计课程名称JA VA 课程设计_ 题目贪吃蛇程序设计 专业电子商务 班级**** 学号******* 姓名*** 成绩__________________ 指导教师__________________ 20**年**月**日

课程设计任务书 设计题目: 设计目的: 1.巩固和加深课堂所学知识; 2.学习掌握一般的软件的设计方法和查阅、运用资料的能力; 3.掌握JA V A程序设计语言,面向对象的软件设计思想、方法。 设计任务:(在规定的时间内完成下列任务) 1、任务:设计一个贪吃蛇的游戏 功能要求:能够显示贪吃蛇的运动,能通过键盘控制贪吃蛇的运行,能够处理蛇在运行中个各种情况,以及其它的辅助功能; 要提供主要的设计思路、数据结构的设计。 2、设计任务要完成设计、编码、测试等过程,给出设计思路、设计说明书、主要的代码 的说明、使用说明书。源代码以及可运行的贪吃蛇游戏。 时间安排: 12月28日布置题目,确定任务、查找相关资料 12月28日~1月7日功能分析,系统设计,编写程序,调试程序、运行系统; 1月8日答辩后撰写设计报告。 具体要求:设计报告撰写格式要求(按提供的设计报告统一格式撰写)具体内容如下: ①设计任务与要求 ②总体方案与说明 ③面向对象的设计(主要类的设计) ④源程序清单与注释 ⑤软件主要模块流程图 ⑥问题分析与解决方案(包括调式记录、调式报告,即在调式过程中遇到的主要问题、 解决方法及改进设想); ⑦小结与体会 附录:①源程序(必须有简单注释)②使用说明③参考资料 指导教师签名:年月日 教研室主任(或责任教师)签名:年月日

相关主题
文本预览
相关文档 最新文档