java课程设计贪吃蛇

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

JAVA设计贪吃蛇游戏

1.课程设计目的

《JA V A程序设计》是计算机相关专业的必修专业基础课程,其实践性、应用性很强。实践教学环节是必不可少的一个重要环节。本课程的程序设计专题实际是计算机相关专业学生学习完《JAVA程序设计》课程后,进行的一次全面的综合训练,JA V A程序设计的设计目的是加深对理论教学内容的理解和掌握,使学生较系统地掌握程序设计及其在网络开发中的广泛应用,基本方法及技巧,为学生综合运用所学知识,利用软件工程为基础进行软件开发、并在实践应用方面打下一定基础。

2.设计方案论证

2.1设计思路

贪吃蛇游戏设计与实现,主要分为以下二个模块:游戏主界面模块和游戏控制模块。在此只实现游戏的游戏主界面模块、游戏控制模块。并且只是实现移动速度、暂停、重新开始等功能。

游戏主界面模块:

游戏的主界面是进入游戏后,能够给玩家第一感官的部分,主要包括游戏图形区域界面、游戏的速度选择更新界面、新生方块的预览、游戏速度控制按钮、暂停游戏按钮、重新开始游戏按钮以及游戏排行榜按钮。从很大程度上决定了玩家对游戏的兴趣问题,因此,游戏的主界面应该力求美观,爽心悦目。

游戏控制模块:

这个模块是游戏的中心环节,主要完成控制游戏的速度、暂停、重新开始等功能。为了能够给玩家一个很好的游戏环境,这部分应该做到易懂、易操作。

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

性能:

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

2.2概要设计

2.3.1自定义类说明

类名:Exception

作用:用来处理当蛇撞到墙或自己的身体时程序的运行

继承的父类:GreedSnake类

实现的接口:没有

2.3详细设计

2.3.1程序概述

本程序是一个利用Java应用软件制作的贪食蛇小游戏。

在游戏过程中,用户通过点击小键盘区的方向键来控制蛇的运行方向;通过Pageup和pagedown键来控制蛇的移动速度,每单击一次,蛇的移动速度改变一次,改变频率为0.75。游戏运行过程中,如果想暂停,只需要按Space或P键即可。重新开始游戏的按键为Enter、S或R。当蛇没有吃到食物且碰到墙壁或自己的身体时游戏结束。

本程序的另一个功能是在程序运行窗口的左上角显示,用户在游戏过程中所得的分数,不过缺点是无法保存分数。

2.4.2程序流程图

本次游戏设计的处理流程如图1所示。

2.3.3 总设计模块的划分

根据游戏需求中游戏所要实现的功能,整个游戏分为二个模块进行具体的设计,如图2所示。

单击“Enter 、S 或R ”按钮, 游戏开始,蛇开始随机。

键盘操作:

向上

左移 右移 向下 没有吃到食物且蛇碰到边界 单击“确定” 游戏结束 游戏中途欲中断,稍后继续游戏

单击“Space 或P 暂停游戏”

进入游戏画面

再次单击开始Enter 、S 或R 按钮,游戏恢复

图1 游戏处理流程图

游戏控制模块的主要框架如图3所示。

游戏移动速度功能控制:点击“PageUp, PageDown ”按钮,蛇的移动速度就会改变,每点击一次,速度的改变频率为0.75。

游戏暂停控制:点击“Space 或P 暂停游戏”按钮,游戏暂停;再单击,游戏继续。

游戏重新开始控制:点击“Enter 、S 或R ”键后,系统图重新载入,即游戏重新

贪吃蛇游戏

游戏主界面模块

游戏控制模块

图2 游戏总设计模块

游戏控制模块

游戏的移动速度功能

戏的暂停功能

游戏的重新开始

图3游戏控制模块框架

开始。

2.3.4类、方法、属性说明

(1)成员变量

表1 主要成员变量(属性)

成员变量描述变量类型名称

文件菜单中子菜

单“新建”

JMenuItem mFile_New

编辑菜单中子菜

单“撤消”

JMenuItem mEdit_Undo

格式菜单中子菜

单“颜色”

JMenu formatMenu_Color

帮助菜单中子菜

单“帮助主题”

MenuItem mHelp_HelpTopics

(2)方法

表2 主要方法

方法名功能备注

Notepad4() 描述记事本无

Text.setBackground(Color.w

hite) 设置编辑区默

认背景色

Text.setForeground(Color.bl

ack) 设置编辑区默

认前景色

3.设计结果与分析

本程序在运行后,能够正常的相应按键事件。由于程序的主要部分已经集成为一个对象SnakeModel,所以利用键盘就可以实现操作。蛇前行的过程中,可以任意向其左或右方向改变方向,但按其前进方向和前进的反方向都没有反应。点击PageUp, PageDown键后,蛇的移动速度会根据点击的次数而改变。每点击一次,速度的改变频率为0.75。点击Space或P键后游戏就暂停了。点击Enter 或R或S键后系统则重新载入,即游戏重新开始。运行结果如下图4所示:

图4 程序运行图

当蛇没有吃到食物且碰到边界或碰撞到自己的身体时,游戏结束,此时得分为0。如果想重新开始即按ENTER或S键,运行结果如下图5所示:

图5 程序结束图

程序异常处理

在蛇的运行线程过程中,当蛇撞到墙或自己的身体时,将抛出一个Exception 类的异常对象,然后使用try-catch去捕捉这个异常,

异常的处理如下:

try{

Thread.sleep(timeInterval); }

catch(Exception e)

{

break;

}

4.心得体会

通过这次课程设计,我对这学期所学的JAVA语言程序设计有一个更深刻的了解,将所学的知识应用于实践,由于所学知识有限,为了使游戏能够实现自己预先的构想,我通过上网和去图书馆找程序,比较好的流程图及功能模块,不断阅读修改代码使程序达到预期所要实现的目标,完成课程设计后,可以感觉到自己对Java程序的又有了新的认识。

在做Java设计之前也有做过其他的课程设计,大多规模很小。在数据库、各种应用软件和游戏中,我仍觉得对游戏的设计有极大的热情。因为其各个模块间的联系十分紧密,代码重复执行率高,当经过无数次的调试、修改后,能最终看到成品,有无比自豪的心情。大学期间做过图书馆管理程序等简单的数据库管理系统的课程设计,思想大致相似,变化范围有限,没有太多自己可发挥的余地。综合运用以前所学习的知识,设计一个JAVA手机游戏,并能实现以下的功能:游戏暂停、游戏重新开始、游戏的结束。总之,通过本次的课程设计,使我平时学到的理论知识得到了很好地升华,理论与实际得到一次很好的结合,为我今后参加工作打下了坚实的基础,使我受益匪浅。

5.附录

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import java.util.*;

//Main Class

public class GreedSnake extends KeyAdapter{

JFrame mainFrame;

Canvas paintCanvas;

JLabel labelScore;//计分牌

SnakeModel snakeModel=null;// 蛇

public static final int DEFAULT_WIDTH=500;

public static final int DEFAULT_HEIGHT=300;

public static final int nodeWidth=10;

public static final int nodeHeight=10;

//GreedSnake():初始化游戏界面

public GreedSnake(){

//设置界面元素

mainFrame=new JFrame("贪吃蛇游戏");

Container cp=mainFrame.getContentPane();

labelScore=new JLabel("所得分数为:",JLabel.CENTER);

cp.add(labelScore,BorderLayout.NORTH);

paintCanvas=new Canvas();

paintCanvas.setSize(DEFAULT_WIDTH+1,DEFAULT_HEIGHT+1); paintCanvas.addKeyListener(this);

cp.add(paintCanvas,BorderLayout.CENTER);

JPanel panelButtom=new JPanel();

panelButtom.setLayout(new BorderLayout());

JLabel labelHelp;// 帮助信息

labelHelp=new JLabel("按PageUP 或PageDown 键改变速度",JLabel.CENTER); panelButtom.add(labelHelp,BorderLayout.NORTH);

labelHelp=new JLabel("按Enter 或S 键重新开始游戏",JLabel.CENTER); panelButtom.add(labelHelp,BorderLayout.CENTER);

labelHelp=new JLabel("按SPACE 键或P 键暂停游戏",JLabel.CENTER); panelButtom.add(labelHelp,BorderLayout.SOUTH);

cp.add(panelButtom,BorderLayout.SOUTH);

mainFrame.addKeyListener(this);

mainFrame.pack();

mainFrame.setResizable(false);

mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); mainFrame.setVisible(true);

begin();

}

//keyPressed():按键检测

public void keyPressed(KeyEvent e){

int keyCode=e.getKeyCode();

if(snakeModel.running)

switch(keyCode){

case KeyEvent.VK_UP:

snakeModel.changeDirection(SnakeModel.UP);

break;

case KeyEvent.VK_DOWN:

snakeModel.changeDirection(SnakeModel.DOWN);

break;

case KeyEvent.VK_LEFT:

snakeModel.changeDirection(SnakeModel.LEFT);

break;

case KeyEvent.VK_RIGHT:

snakeModel.changeDirection(SnakeModel.RIGHT);

break;

case KeyEvent.VK_ADD:

case KeyEvent.VK_PAGE_UP:

snakeModel.speedUp();// 加速

break;

case KeyEvent.VK_SUBTRACT:

case KeyEvent.VK_PAGE_DOWN:

snakeModel.speedDown();// 减速

break;

case KeyEvent.VK_SPACE:

case KeyEvent.VK_P:

snakeModel.changePauseState();// 暂停或继续

break;

default:

}

//重新开始

if(keyCode==KeyEvent.VK_S || keyCode==KeyEvent.VK_ENTER){ snakeModel.running=false;

begin();

}

}

//repaint():绘制游戏界面(包括蛇和食物)

void repaint(){

Graphics g=paintCanvas.getGraphics();

//draw background

g.setColor(Color.LIGHT_GRAY);

g.fillRect(0,0,DEFAULT_WIDTH,DEFAULT_HEIGHT);

//draw the snake

g.setColor(Color.BLACK);

LinkedList na=snakeModel.nodeArray;

Iterator it=na.iterator();

while(it.hasNext()){

Node n=(Node)it.next();

drawNode(g,n);

}

// draw the food

g.setColor(Color.RED);

Node n=snakeModel.food;

drawNode(g,n);

updateScore();

}

//drawNode():绘画某一结点(蛇身或食物)

private void drawNode(Graphics g,Node n){

g.fillRect(n.x*nodeWidth,n.y*nodeHeight,nodeWidth-1,nodeHeight-1); }

//updateScore():改变计分牌

public void updateScore(){

String s="所得分数为: "+snakeModel.score;

labelScore.setText(s);

}

//begin():游戏开始,放置贪吃蛇

void begin(){

if(snakeModel==null||!snakeModel.running){

snakeModel=new SnakeModel(this,DEFAULT_WIDTH/nodeWidth, DEFAULT_HEIGHT/nodeHeight);

(new Thread(snakeModel)).start();

}

}

//main():主函数

public static void main(String[] args){

GreedSnake gs=new GreedSnake();

}

}

//Node:结点类

class Node{

int x;

int y;

Node(int x,int y){

this.x=x;

this.y=y;

}

}

//SnakeModel:贪吃蛇模型

class SnakeModel implements Runnable{

GreedSnake gs;

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和DOWN是偶数,RIGHT和LEFT是奇数public static final int UP=2;

public static final int DOWN=4;

public static final int LEFT=1;

public static final int RIGHT=3;

//GreedModel():初始化界面

public SnakeModel(GreedSnake gs,int maxX,int maxY){

this.gs=gs;

this.maxX=maxX;

this.maxY=maxY;

matrix=new boolean[maxX][];

for(int i=0;i

matrix[i]=new boolean[maxY];

Arrays.fill(matrix[i],false);// 没有蛇和食物的地区置false }

//初始化贪吃蛇

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

for(int i=0;i

int x=maxX/2+i;

int y=maxY/2;

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

matrix[x][y]=true;// 蛇身处置true

}

food=createFood();

matrix[food.x][food.y]=true;// 食物处置true

}

//changeDirection():改变运动方向

public void changeDirection(int newDirection){

if(direction%2!=newDirection%2){// 避免冲突

direction=newDirection;

}

}

//moveOn():贪吃蛇运动函数

public boolean moveOn(){

Node n=(Node)nodeArray.getFirst();

int x=n.x;

int y=n.y;

switch(direction){

case UP:

y--;

break;

case DOWN:

y++;

break;

case LEFT:

x--;

break;

case RIGHT:

x++;

break;

}

if((0<=x&&x

if(matrix[x][y]){// 吃到食物或者撞到身体

if(x==food.x&&y==food.y){// 吃到食物

nodeArray.addFirst(food);// 在头部加上一结点

//计分规则与移动长度和速度有关

int scoreGet=(10000-200*countMove)/timeInterval; score+=scoreGet>0 ? scoreGet : 10;

countMove=0;

food=createFood();

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

return true;

}

else return false;// 撞到身体

}

else{//什么都没有碰到

nodeArray.addFirst(new Node(x,y));// 加上头部matrix[x][y]=true;

n=(Node)nodeArray.removeLast();// 去掉尾部matrix[n.x][n.y]=false;

countMove++;

return true;

}

}

return false;//越界(撞到墙壁)

}

//run():贪吃蛇运动线程

public void run(){

running=true;

while(running){

try{

Thread.sleep(timeInterval);

}

catch(Exception e){

break;

}

if(!paused){

if(moveOn()){// 未结束

gs.repaint();

}

else{//游戏结束

JOptionPane.showMessageDialog(null,"GAME OVER", "Game Over",https://www.360docs.net/doc/4613576533.html,RMA TION_MESSAGE); break;

}

}

}

running=false;

}

//createFood():生成食物及放置地点

private Node createFood(){

int x=0;

int y=0;

do{

Random r=new Random();

x=r.nextInt(maxX);

y=r.nextInt(maxY);

}

while(matrix[x][y]);

return new Node(x,y);

}

//speedUp():加快蛇运动速度

public void speedUp(){

timeInterval*=speedChangeRate;

}

//speedDown():放慢蛇运动速度

public void speedDown(){

timeInterval/=speedChangeRate;

}

//changePauseState(): 改变游戏状态(暂停或继续)public void changePauseState(){

paused=!paused; }

}

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课程设计参考范文

基于B/S模式的小区物业管理系统的设计与实现 计算机科学与技术2009级一班 学生姓名:陆国良指导老师:陶世明 摘要:相比于C/S模式的物业管理系统,B/S模式的管理系统却极少。做一个B/S模式的物业管理系统,既可以让业主使用,又可以让物业管理人员使用,通过这个系统,获取到各自需要的信息,从而给管理带来便利。这也是我们开发物业管理系统的初衷。住户最基本的要求有以下几点:界面的友好性、易用性、实用性和吸引性。本设计将从以上几个方面进行系统的开发工作。物业管理人员除了有住户的以上要求外,管理的便利性也要考虑。在系统的开发中,使用JavaScript、CSS样式和HTML对界面进行布局,然后使用DOTNET平台下C#语言进行全面的开发,其中使用了三层架构的思想。 关键词:C/S, B/S, DOTNET, 三层架构 一、前言 物业管理系统在市场上已经是一项相当成熟的技术,例如思源物业,凤凰物业等。他们为许多开发物业管理的开发人员提供了成功的案例。为什么要使用信息化系统呢?在以前我们不都是使用一张纸,一支笔就搞定了么,为什么还要兴师动众来开发这样一个系统呢。下面进行一下前后的对比。 手工模式 ?传统的文档记录管理模式,易出错丢失; ?采用人工统计核算,工作量大且容易出错; ?不利于公司领导了解各部门的工作情况,影响企业整体决策; ?管理缺乏有效控制,工作流程不够规范; ?服务不及时,客户满意度低; 信息化后 ?数据管理容易; ?采用计算机进行运算,效率高且精确; ?操作简单方便; ?能够充分利用资源,做出合理的安排; 之所以人们对物业管理系统津津乐道,主要是因为小区是城市生活的基本单位,小区的管理直接影响到我们的生活质量。系统有使用Java开发的,有使用.Net开发的,有基于B/S模式的,有基于C/S 模式的,它们的共同出发点都是开发出高效的,便于管理的物业管理系统,这也是许多物业公司不惜高

java课设记事本说明书

******************* 实践教学 ******************* 兰州理工大学 计算机与通信学院 2012年秋季学期 Java 课程设计 题目:记事本系统设计 专业班级: 姓名: 学号: 指导教师: 成绩:

目录 摘要 (1) 序言 (2) 正文 (3) 1.系统设计与分析 (3) 2.详细设计 (3) 3.系统测试 (14) 4.软件使用说明书 (17) 设计总结 (18) 参考文献 (19) 致谢 (20) 附录(程序源代码) (21)

摘要 本次课程设计的题目是用java语言编写记事本程序,要求是:用图形界面实现;含有简单的文字编辑功能,如:剪切、复制、粘贴、删除;还能实现保存、另存为、查找、替换等功能。 本程序主要用到了Java swing组件和事件监听器,还用到了文件的输入输出流。记事本的界面参考了Windows中的记事本界面,并且根据课程设计要求做了适当的调整。 关键字:记事本程序;Java语言;Jcreator

序言 Java的前身是Oak,它一开始只是被应用于消费性电子产品中。后来它的开发者们发现它还可以被用于更大范围的Internet上。1995年,Java语言的名字从Oak编程了Java。1997年J2SE1.1发布。1998年J2SE1.2发布,标志Java2的诞生。十多年来,Java编程语言及平台成功地运用在网络计算及移动等各个领域。Java的体系结构由Java语言、Java class、Java API、Java虚拟机组成。它具有简单、面向对象、健壮、安全、结构中立、可移植和高效能等众多优点。Java支持多线程编程,Java运行时系统在多线程同步方面具有成熟的解决方案。Java的平台标准有Java ME,Java SE和Java EE。Java发展到今天,它的卓越成就及在业界的地位毋庸置疑。目前在众多的支持Java的开发工具中主要的7有Java Development Kit,NetBeans,Jcreator,JBuilder,JDeveloper和Eclipse等。其中Java Development Kit 简称JDK是大多开发工具的基础。以上的每种开发工具都有优缺点,对于开发者来说,重要的是要根据自己的开发规模、开发内容和软硬件环境等因素来选择一种合适的开发工具。 在本程序设计中,因为需要开发的是记事本程序,规模较小,内容较少, 所以选择了适合初学者使用的JCreator开发工具。

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课程设计之贪吃蛇

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课程设计说明书要点

1 需求分析 随着21世纪信息化的到来,计算机的应用日益广泛,计算机在代替体力、脑力劳动方面发挥着不可或缺的作用,在工业方面及日常工作中也越来越离不开它。在企业里,要处理大量的数据信息,为了提高员工管理的工作效率,降低操作出错的概率,因而开发出一套员工信息管理系统是很有必要的。员工信息管理系统,可实现了公司员工信息管理系统的电子化,减轻管理人员的工作负担,能够规范、高效地管理大量的劳动人事信息,减小管理成本,提高工作效率,避免人为操作错误和不规范行为。 该软件实现了员工对个人工资的查询以及管理人员对员工信息进行动态管理的功能,例如基本信息的查询,修改,添加,删除;员工工资的查询,修改,添加,删除等。 2 具体功能 (1)新员工注册功能。 (2)员工登陆功能。 (3)员工查看个人工资功能。 (4)管理人员登录功能。 (5)管理人员对员工基本资料的修改,添加,删除,查询功能。 (6)管理人员对员工工资信息的修改,添加,删除,查询功能。 3 系统设计 3.1、功能示意图

系统功能如图3-1所示: 图3-1系统功能图 3.2、数据库设计 本软件数据库类型为MYSQL ,数据库“employee.mdb ”,其中共包含三种表,其一是 登录用户信息表 user (如表3-1),其二是员工基本信息表emps (如表3-2),其三是员工工资信息表salary (如表3-3)。对应的数据库截图分别为:登录用户信息表users 截图(如图3-2),员工基本信息表emps 截图(如图3-3),员工工资信息表salary 截图(如图3-4)。 员工 管理员 个人工资显示 showSalaryFrm.java 登陆界面 loginFrm.java 主界面mainFrm.java 员 工 基 本 信 息 的 删 除 工 资 信 息 的 查 询 工 资 信 息 的 修 改 工 资 信 息 的 删 除 工 资 信 息 的 添 加 员 工 基 本 信 息 的 添 加 员 工 基 本 信 息 的 查 询 员 工 基 本 信 息 的 修 改 版 本 信 息

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 引言 (1) 1.1课程设计选题 (1) 1.2课程设计的目的 (1) 1.3本选题的设计背景 (1) 2 需求分析 (1) 2.1 功能需求 (1) 2.2 系统的开发运行环境 (2) 3 总体设计 (2) 3.1 系统体系结构设计 (2) 3.2系统功能模块及主要类设计 (3) 3.3数据库设计 (5) 4 详细设计与实现 (7) 4.1 登录模块 (7) 4.2 注册新用户模块 (8) 4.3 查询模块 (9) 4.4 添加模块 (11) 4.5 修改模块 (13) 4.6删除模块 (16) 4.7备份模块 (18) 4.8退出模块 (19) 5 小结和展望 (20) 参考文献 (22) 附录 (22) 使用说明书 (22)

1引言 1.1课程设计选题 《个人通讯录管理系统》 1.2课程设计的目的 通过编写并调试一个Java应用软件,熟悉和掌握使用Java开发应用程序的完整过程。 使学生巩固和加深以Java 语言为基础的面向对象编程技术理论知识的理解,提高实际动手编程能力的培养,掌握以Java为核心的应用软件开发方案,达到能独立阅读、编制和调试一定规模的Java程序的水平。 1.3本选题的设计背景 一直以来就想做一个比较实用的通讯录管理系统,这样可以方便我对于身边联系人信息的管理,防止遗忘和丢失。 在这样一个信息化的社会里,人们的生活也越来越离不开电脑了,本次通过做个人通讯录管理系统,希望摈弃传统的纸质记录的弊端,发挥电脑软件的优势,方便人们对自己的联系人信息的管理。 2需求分析 2.1 功能需求 2.1.1个人通讯录功能需求 (1)登陆功能。用户可以直接输入用户名和密码,登陆进入通讯录的主功能界面。 (2)注册功能。其他用户可以输入自己的用户名和密码及确认密码,来实现注册成为该通讯录的使用者。 (3)查询功能。在该功能里,用户可以采用模糊查询和精确查询两种查询方式来对自己存储的联系人信息进行查询。 (4)添加功能。在该功能里,用户可以添加自己的常用联系人和分组信息。

java课程设计实践

课程设计说明书(论文) 课程名称 Java程序设计实践 题目文字聊天软件设计 专业软件工程班级软件1201 学号 1211030115姓名赵阳 起止日期 2012.06.24----2012.06.28 指导教师王洪亮成绩 辽宁石油化工大学计算机与通信工程学院

摘要 计算机网络的迅速发展,对人类社会诸多领域产生了巨大的影响。尤其是,随着信息时代的来临,人们之间愈来愈趋向于通过网络来交流和传递信息。而聊天系统正是当前人们使用最多的中介。在这个平台上,许多认识或不认识的人们彼此间能够随意的相互交流。因此,开发和构架这种平台符合时代发展的需要。 本系统在开发中用到了局域网通信机制的原理,通过直接继承Thread类来建立多线程。开发中利用了计算机网络编程的基本理论知识,如TCP/IP协议、客户端/服务器端模式(Client/Server模式)网络编程的设计方法等。在网络编程中对信息的读取、发送,是利用流来实现信息的交换,其中介绍了对实现一个系统的信息流分析,包含了一些基本的软件工程方法。 Abstract The rapid development of computer networks, many areas of human society had a huge impact. In particular, with the advent of the information age, more and more people tend to pass between the networks to communicate and convey information. The chat system is currently the most people to use intermediaries. On this platform, a lot of people know or do not know each other can freely mutual exchange. Therefore, the development and architecture of this platform meets the needs of the times. The system used in the development of a local area network communication mechanism principle, through the direct successor to the Thread class to create multiple threads. Developed a computer network using basic theoretical knowledge of programming, such as TCP / IP protocol, the client / server mode (Client / Server mode) network programming design method. In network programming to read the information, sending, is the use of the exchange of information flow to achieve, which describes the realization of a systematic information flow analysis, contains some basic software engineering methods.

java课程设计贪吃蛇

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

Java web课程设计说明书

前言 近几年来信息技术的快速发展给传统的旅游业带来了很大的冲击。在过去的传统旅游中,信息的不发达和落后,已经是越来越不能够满足消费者的要求了,把旅游业进行信息化的改革的呼声已经越来越高。那么是什么是旅游业的信息化呢?一般说来是利用现代的计算机技术,信息技术等相关的高手段及现代的传播媒体资源、旅游信息资源、旅游生产要素等资源进行深层次的管理、分配、组合、加工、传播、销售,以促进传统旅游业向现代旅游业的发展,加快旅游业的发展,提高旅游业的生产效率等。 在我国旅游资源非常丰富,但是旅游业的信息化基础建设一直是比较滞后的。如何快速合理的开发丰富的旅游资源,管理纵多的旅游信息,以及强化旅游质量和意识,吸引海内外的广大的游客,更好的为旅客提供满意的服务显得很重要。所以要开发一个旅游服务的网站系统,是广大的群众和国内外旅游者所期待的。在网络技术发展到今天,随着WEB2.0时代的到来,Ajax、Api和Web Services等技术逐渐成熟,使得开发一个现代具有互联网等相关功能的旅游信息系统不再需要重复耗费巨大的财力和物力,在有效整合现有 web 服务的基础上,就能够在较短的时间内开发出功能完善的、适合于不同地区的旅游信息系统了。 关键词:计算机、浏览器、考勤管理、JSP

目录 前言 (1) 正文 (1) 1 需求分析 (1) 1.1任务与分析 (1) 1.2测试数据 (1) 2 概要设计 (2) 2.1系统设计 (2) 2.2 数据库设计 (3) 3详细设计 (6) 3.1登录界面的实现 (6) 3.2.管理员界面实现 (7) 3.3.职工界面实现 (9) 4 调试分析 (10) 4.1用户登陆: (10) 4.2 管理员界面 (12) 4.3 职工界面 (12) 5用户使用说明 (13) 6测试结果 (13) 结论 (16) 参考文献 (17)

Java课程设计说明书

课程设计说明书 1 需求分析 随着21世纪信息化的到来,计算机的应用日益广泛,计算机在代替体力、脑 力劳动方面发挥着不可或缺的作用,在工业方面及日常工作中也越来越离不开它。在企业里,要处理大量的数据信息,为了提高员工管理的工作效率,降低操作出错的概率,因而开发出一套员工信息管理系统是很有必要的。员工信息管理系统,可实现了公司员工信息管理系统的电子化,减轻管理人员的工作负担,能够规范、高效地管理大量的劳动人事信息,减小管理成本,提高工作效率,避免人为操作错误和不规范行为。 该软件实现了员工对个人工资的查询以及管理人员对员工信息进行动态管理的功能,例如基本信息的查询,修改,添加,删除;员工工资的查询,修改,添加,删除等。 2 具体功能 (1)新员工注册功能。 (2)员工登陆功能。 (3)员工查看个人工资功能。 (4)管理人员登录功能。 (5)管理人员对员工基本资料的修改,添加,删除,查询功能。 (6)管理人员对员工工资信息的修改,添加,删除,查询功能。 3 系统设计 3.1、功能示意图 1 课程设计说明书 所示:系统功能如图3-1

工员版工工工员员员 资工资工工工资资本信基基信信信信基基 息本息息息本本本息的信信的信的的信 查息息修息删息添询的的除的改的加添修删查 加询除改 图3-1系统功能图 3.2、数据库设计 本软件数据库类型为MYSQL,数据库“employee.mdb”,其中共包含三种表,其一是登录用户信息表 user(如表3-1),其二是员工基本信息表emps(如表3-2),其三是员工工资信息表salary(如表3-3)。对应的数据库截图分别为:登录用户信息表users截图(如图3-2),员工基本信息表emps截图(如图3-3),员工工资信息表salary截图(如图3-4)。 2 课程设计说明书

java web课程设计说明书

长沙学院课程设计说明书 题目Web应用程序设计 系(部) 数学与计算机科学系 专业(班级) 姓名 学号 指导教师 起止日期2015.11.30~2015.12.11

课程设计任务书 课程名称:Web应用程序课程设计 设计题目:网上商店前台功能的设计与实现 已知技术参数和设计要求: 1. 问题描述(功能要求): (1)分析设计一个网上商店的前台功能部分。完成本系统的如下功能: ●用户注册和登陆 ●展示特定的某类商品:展示的方式有多种,可以按类别、按销售排行榜、按上架时间等, 有层次的展示商品,提高用户的购买兴趣。对于某种商品,除显示商品信息以外,还可以 附加评论、推荐相关类型商品。 ●商品查询:根据多种条件来查询,比如商品名称、价格、颜色等特征信息。能进行模糊匹 配,包含关键字的商品都能查到。 ●购物车:只有注册用户才能购买。为用户提供购物车,购物车内同类商品的数量可以修改, 也可以删除购物车里已有的商品。购物车信息保存,便于下次购物时继续选购商品。 2. 运行环境要求: 正确安装、配置和运行Tomcat。 正确安装、配置和运行MyEclipse。 正确安装、配置和运行MySQL数据库和JDBC驱动程序。 3. 技术要求: 要求使用Java语言,利用面向对象的方法、编程思想来完成系统的设计;在设计的过程中,建立清晰的类层次;在系统设计中要分析和定义各个类,每个类中要有各自的属性和方法。写出需求分析,UML设计图,数据库设计图。 设计工作量: 40课时 工作计划: 1.班级 13计科1、2班、13信息1、2班 2.课时及教室安排

4课时:相关知识介绍。机房内多媒体教室10课时:设计。普通教室。 24~26课时:上机、调试。计算机系机房4~6课时:调试答辩。计算机系机房

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课程设计说明书_班级通讯录1

计算机科学与技术学院 课程设计说明书 题目:班级通讯录 课程:JAVA课程设计 院(部):计算机科学与技术学院 专业:软件工程 班级:082 学生: 学号: 指导教师: 完成日期:2009-12-22

建筑大学计算机科学与技术学院 课程设计任务书 指导教师(签字):教研室主任(签字):

需求分析 作为大二学生,学校活动与我们息息相关,而大量的人员流动产生的庞大冗杂的信息却使学生会等工作人员不知所措,通过这个小型用户管理软件的开发,可以在某种程度上解决这些问题。 该软件提供了班级通讯录的添加、删除、改、查询。通讯录信息主要包括:、班级、手机、家庭、电子、通讯录地址、邮编。 一、班级通讯录 本程程序为班级通讯录管理系统,用户可以进行学生信息的添加、删除、修改、查询。 1.设计容 设计GUI的班级通讯录管路系统,实现学生信息的添加、删除、修改、查询。 2安装使用环境说明 安装Netbeans IDE,要求JDK为1.6版本以上;安装完成后创建Java项目。

3设计要求 界面良好,实现用户信息的添加、删除、修改、查询等操作。 4总体设计 班级通讯录系统共有5个java源文件。 类之间的主要关系如下图所示。 Tongxunlu.java 该类负责创建用户管理系统主窗口,该类有main方法,整个程序从该类开始执行。 StudentManger.java 该类负责学生管理,可实现学生的添加、删除、修改、查询等。

LinkList.java 该类负责创建结点链表。 Node.java 该类创建结点,实现结点的有关信息。 5具体设计 Tongxunlu.java 该类的成员变量及方法如下表:

java课程设计报告-java课程设计

Java 课程设计报告 题目:文本编辑器 班级: 学号: 姓名: 成绩: 日期:年月日

目录 一、综合设计的目的与要求??????????????3 二、综合设计正文???????????????????3 1. 系统分析??????????????????????3 1.1系统开发背景、开发范围、建设目标与必要性开发????????3 1.2需求分析??????????????????????3 2.系统设计????????????????????????3 2.1功能设计??????????????????????3 2.2系统运行环境与开发工具?????????????????4 3 . 系统实施??????????????????????? 4 3.1 源程序???????????????????????4 3.2 .系统测试及部分截图??????????????????12 三、综合设计总结或结论?????????????????13 四、参考文献???????????????????????13

《文本编辑器》 一、综合设计的目的与要求 要求在学生能够较熟练使用java 程序设计语言进行软件代码的编写,同时还要具 备较好的项目分析的能力,加深对相关课程基本内容的理解。同时,在程序设计方法以及上机操作等基本技能和科学作风方面受到比较系统的练习。 二、综合设计正文 1系统分析 1.1系统开发背景、开发范围、建设目标与必要性 随着计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。当然对文本编辑操作仍然占据着重要地位,记事 本是简单便捷的文本编辑器,可实现对文本编辑操作的基本功能。 1.2需求分析 程序设计主要分为两大部分:简单 GUI 设计和程序功能设计。通过 GUI 设计实现图 形用户界面,提供图形菜单,方便用户操作。使用Java 语言编写一个能够对输入文字进行操作,具有合理的界面,能够在界面中实现右键快捷方式,对文档内容进行编辑操作,并且能够顺利退出的程序。通过设计和实现一个具有基本功能的文本编辑器,提高我们对 Java 语言设计的掌握能力,理论联系实际,进一步提高软件开发技术,从而培 养我们分析、解决问题的能力。 2系统设计 2.1 功能设计 根据系统自带的文档编辑器的特征设计,包括如下的功能模块: 一、整体结构框架包括:菜单栏和文档编辑区 二、每个框架分别包含不同的子框架,各个模块的具体框架: 1.菜单栏:文件、编辑、工具、帮助 2.菜单栏中各个子菜单功能 文件:新建、打开、保存、另存为、退出 编辑:剪切、复制、粘贴 工具:查找、替换

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)

贪吃蛇课程设计

《面向对象程序设计》 课程设计报告 题目:贪吃蛇游戏设计与实现 院(系):信息科学与工程学院 专业班级:计科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)

相关文档
最新文档