毕业设计 贪吃蛇

毕业设计 贪吃蛇
毕业设计 贪吃蛇

贪吃蛇小游戏

班级: ……姓名:……学号: ……指导教师:……

2012年6月16号

摘要

近年来,Java作为一种新的编程语言,以其简单性、可移植性和平台无关性等优点,得到了广泛地应用,特别是Java与万维网的完美结合,使其成为网络编程和嵌入式编程领域的首选编程语言。JBuilder是Borland公司用于快速开发Java应用的一款优秀的集成开发环境,它以其友好的开发界面、强大的组件支持等优点,得到广大程序员的接受和认可。

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

本文在介绍Java相关技术和国内外发展现状的基础上,对“贪吃蛇”游戏的整个生命周期的各个开发阶段进行了详细地介绍。首先,分析了开发本游戏软件的可行性,重点分析本设计所采用的技术的可行性。其次,从游戏主界面等几方面,分析了本游戏的功能需求;从可使用性和安全性方面分析了属性需求。然后,进行了游戏的概要设计和详细设计,这也是本文的重点。概要设计给出二个功能模块的主框架以及六个类模块的函数调用关系;详细设计介绍了Java2标准运行环境的配置,重点给出各个类模块的程序流程图以及UML 图,列表介绍了各个类包含的变量、使用的方法,展示了游戏的界面。为了保证程序代码的正确性和功能实现的可靠性,本文还介绍了游戏软件的程序调试过程和功能测试结果。

目录

第一章开发环境.........................................................错误!未定义书签。

1.1 开发工具 (4)

1.2 应用环境 (4)

第二章题目阐述 (1)

2.1 关于题目 (1)

2.2 题目要求 (1)

第三章可行性分析 (1)

3.1 技术可行性 (1)

3.2 操作可行性 (1)

3.3 经济可行性 (1)

第四章需求分析 (5)

4.1 需求满足 (5)

4.2 设计特点......................................... 错误!未定义书签。

第五章概要设计 (5)

5.1 功能模块 (1)

5.2 结构模块 (1)

第六章详细设计 (14)

6.1 程序设计 (14)

6.2 程序流程图 (5)

第七章编码 (1)

第八章测试 (1)

8.1 测试的意义 (25)

8.2 测试过程 (25)

8.3 测试结果 (25)

第九章总结 (1)

参考文献 (26)

第一章开发环境

1.1 开发工具

Sun Microsystems公司在推出Java语言的同时,推出了一套开发工具JDK。Sun提供的基于字符模式的Java开发工具包JDK: Java开发工具(JDK)是许多Java专家最初使用的开发环境。Java是平台无关的语言是指用Java写的应用程序不用修改就可在不同的软硬件平台上运行。

Java源程序编写借助于记事本,Editpuls,UltraEdit等第三方编辑工具。

所有的Java文件编辑、编译、调试、解释运行都是通过使用字符命令来执行操作。JDK由一个标准类库和一组建立,测试及建立文档的Java实用程序组成。其核心Java API是一些预定义的类库,开发人员需要用这些类来访问Java语言的功能。JDK 是整个Java的核心,包括了Java运行环境(Java RuntimeEnvirnment),一堆Java工具和Java 基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK。因此掌握JDK是学好Java的第一步。

JDK里面是java类库和java的语言规范,它提供的是无论你用何种开发软件写java 程序都必须用到的类库和java语言规范.没有jdk,你的java程序根本就不能用。

最主流的JDK是Sun公司发布的JDK,除了Sun之外,还有很多公司和组织都开发了自己的JDK,例如IBM公司开发的JDK,BEA公司的Jrocket,还有GNU组织开发的JDK等等。其中IBM的JDK包含的JVM(Java Virtual Machine)运行效率要比SunJDK包含的JVM高出许多。而专门运行在x86平台的Jrocket在服务端运行效率也要比SunJDK好很多。但不管怎么说,我们还是需要先把Sun JDK掌握好。

1.2 应用环境

(1).操作系统:Myeclipse、Windows7等

(2). 应用软件:jdk1.6

第二章题目阐述

2.1关于题目:

《圣经》里,蛇引诱夏娃吃了苹果之后,就被贬为毒虫,是阴险的象征。因此蛇吃东西是将整只动物吞进去的,大概在文艺复兴的时候就有人发明的一种游戏,是现在贪吃蛇的前身。后来慢慢的发展就变成了今天的贪吃蛇游戏。

贪吃蛇,之所以取这样的名字,去用意还是很明显的,贪吃蛇其实并不贪,它是人不断向前追求的象征,就像现代的人只有不断努力向前才能得到自己想要的。而食物也是随机出现的,就像现在社会存在的机会,而我们只有找好自己的目标才能成功。

虽然现在市面上存在着各种各样的游戏版本,可是贪吃蛇其市场还是相当大的。因为它的特殊性在于它能吸引人更深入,爱不释手,随着游戏速度不断加快,其刺激性也更强。贪吃蛇游戏制作可以说该游戏的优势在于它的简单易行,不论是手机、还是小游戏机、电脑,都能很快顺利的运行。对于在外忙碌的人,不可能花费大量时间在娱乐上,大型游戏是行不通的,这样的小游戏刚好迎合了他们的需求。但是它的缺点也主要在它的简单性,游戏本身太

过于简单,无法满足大型游戏主的需求。但是这样的小游戏主要对象是针对那些需要有些小东西来调剂生活的人们,给他们的生活带来些精彩.。

2.2题目要求:

该游戏软件在win7系统上为玩家提供传统贪吃蛇游戏的基本功能,玩家可以通过键盘控制游戏区中贪吃蛇的运动,当蛇头碰到并吃了食物后加长蛇身,当

蛇碰到墙壁或者自己的身体时,游戏结束。

第三章可行性分析

3.1 技术可行性

完全可用Myeclipse来编程,在电脑上顺利实现,可以说在技术上不会有太大的问题。

3.2 操作可行性

这是一个简单易行的游戏,其操作不会有问题的,不论是怎样的平台都能很好的运行。而用户也可以在其受益不浅。

3.3 经济可行性

在自己的电脑上即可完成贪吃蛇java的编码,实现贪吃蛇游戏的开发。可以说其经济利益将相当可观,随着手机和电脑的普及,这样的小游戏也将随着普及。而我们用较小的成本即可得到较大的收入。

第四章需求分析

4.1 需求满足

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

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

(2) 在随机的地方产生食物。

(3) 吃到食物就变成新的蛇体,碰到壁或自身则游戏结束,否则正常运行。

4.2 设计特点

4.2.1简单性:

贪吃蛇,是个简单的小游戏,但却能给人以放松,让我们从繁重的日常生活中解脱出来.而只有我们的身心得到了娱乐才能更好的投入到新的工作.现在的人,不管是已经工作的,还是还未进入社会的学生,都面临着很大的压力,而这样一款能让我们随时随地都能享受的游戏,其魅力还是不可估量的。

4.2.2趣味性:

有人可能会这么说,这样一个简单的游戏,其可玩性应该不能高,事实上对于大型游戏的玩家这样一个游戏自然是无法满足的。可是我们却无法否认其趣味性的,在面对一大堆累人的工作之后,难得有了一个间隙能喘口气,自然不能浪费,如果不能玩大的游戏,那小

游戏呢?此时人们自然就会想到象贪吃蛇这样既不会占用大量时间,又可以让身心得到充分休息的游戏。 贪吃蛇的趣味究竟在哪呢?当人们开始该游戏时,从起先的容易,到后来速度的不断加快,其可玩性也在增加。

第五章 概要设计

5.1 功能模块

本系统共包括1个java 源文件和4个类文件。 1. 类之间的关系如图1所示。

2.java 源文件及其功能

5.2 结构模块

Range 范围界面:确定范围大小

文件名

主要功能

Snake1 工程包,实现整个程序的运行

Range 实现菜单控制运行等总体要求,实现方向键控制蛇的方向,还有分数等。

Snake 该文件实现蛇的结构和具体运动,如判断食物是否和怎样被吃掉及判断后的动作。 Food 该文件实现组成蛇身的单位-食物。 direction

蛇的方向

Snake1

Direction

Food Snake

Range

Range范围界面:画出横线

Range范围界面:画出竖线,显示小格

在Range范围界面图中,画出小蛇(绿色的显示)

在Range范围界面图中,画出食物(红黑交替闪烁)

在Range范围界面中显示分数(左上角黄色显示)

游戏过程中,吃到食物蛇的身体增加一格,分数也相应的增加

撞到边界游戏结束

第六章详细设计

6.1 程序设计

1.类Range

(1)成员变

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

状态标签public void launch

public void stop

launch

stop

分数标签private score score

蛇范围Private location location 蛇类对象private Snake snake

(2)方法

方法名功能

SnakePanel() 创建蛇的面板

addKeyListener 监视器

setSize() 设置尺寸

2.类Snake

(1)成员变量

成员变量描述变量类型名称是否运动boolean move

蛇体ArrayList snake

食物Node food

方向int derection 分数int score

运动中public static final int running

游戏结束public static final int gameover

左public static final int LEFT

上public static final int UP

右public static final int RIGHT

下public static final int DOWN (2)方法

方法名功能

Public void eat() 判断食物是否被蛇吃掉,如果食物在蛇运行方向的正前方,并且与蛇头接触,则被吃掉

checkDead() 判断是否碰撞

move() 蛇在运行中所采取的措施

3. 类Food

(1)成员变量

成员变量描述变量类型名称随机产生食物Public static Random Random

食物块宽public static final int W

食物块高public static final int H

横坐标int x

纵坐标int y

4.类Direction

此类为蛇的方向类,使用left ,right ,up ,down 来表明蛇的运动方向。

源代码见文件源代码见文件Direction.Java

6.2程序流程图

z

第七章 编码

游戏设计是建一个Snake 工程,工程里有Range 、Snake 、Food 、Direction 四个类,下面就各个类分别说一下他们的编码实现。 Range 类:蛇的运行范围。

public class Range extends Frame {

进入游戏画面

键盘操作:

向左 向上

向右 向下

没有吃到食物且碰到边

游戏结束 吃到食物分数增加但碰到边

吃到食物分数增 加

吃到食物但碰到自身

继续游戏

PaintThread paintThread = new PaintThread();

private boolean gameOver = false;

public static final int ROWS = 40;

public static final int COLS = 40;

public static final int BLOCK_SIZE = 15;

private Font fontGameOver = new Font("隶书", Font.BOLD, 50); private int score = 0;

Snake s = new Snake(this);

Food f = new Food();

Image offScreenImage = null;

public void launch() {

this.setLocation(300, 100);

this.setSize(COLS * BLOCK_SIZE, ROWS * BLOCK_SIZE);

this.addWindowListener(new WindowAdapter() {

@Override

public void windowClosing(WindowEvent e) {

System.exit(0);

}

});

this.setVisible(true);

this.addKeyListener(new KeyMonitor());

new Thread(paintThread).start();

}

public static void main(String[] args) {

new Range().launch();

}

public void stop() {

gameOver = true;

}

@Override

public void paint(Graphics g) {

Color c = g.getColor();

g.setColor(Color.GRAY);

g.fillRect(0, 0, COLS * BLOCK_SIZE, ROWS * BLOCK_SIZE);

g.setColor(Color.DARK_GRAY);

for (int i = 1; i < ROWS; i++) {

g.drawLine(0, BLOCK_SIZE * i, COLS * BLOCK_SIZE, BLOCK_SIZE * i);

}

for (int i = 1; i < COLS; i++) {

g.drawLine(BLOCK_SIZE * i, 0, BLOCK_SIZE * i, BLOCK_SIZE * ROWS);

}

g.setColor(Color.YELLOW);

g.drawString("score:" + score, 10, 60);

if (gameOver) {

g.setFont(fontGameOver);

g.drawString("游戏结束", 200, 240);

paintThread.pause();

}

g.setColor(c);

s.eat(f);

f.draw(g);

s.draw(g);

}

@Override

public void update(Graphics g) {

if (offScreenImage == null) {

offScreenImage = this.createImage(COLS * BLOCK_SIZE, ROWS

* BLOCK_SIZE);

}

Graphics gOff = offScreenImage.getGraphics();

paint(gOff);

g.drawImage(offScreenImage, 0, 0, null);

}

private class PaintThread implements Runnable {

private boolean running = true;

private boolean pause = false;

public void run() {

while (running) {

if (pause)

continue;

else

repaint();

try {

Thread.sleep(300);

} catch (InterruptedException e) {

e.printStackTrace();

}

}

}

public void pause() {

this.pause = true;

}

public void reStart() {

this.pause = false;

s = new Snake(Range.this);

gameOver = false;

}

public void gameOver() {

running = false;

}

}

private class KeyMonitor extends KeyAdapter {

@Override

public void keyPressed(KeyEvent e) {

int key = e.getKeyCode();

if (key == KeyEvent.VK_F2) {

paintThread.reStart();

}

s.keyPressed(e);

}

}

public int getScore() {

return score;

}

public void setScore(int score) {

this.score = score;

}

}

Snake类:设计蛇的属性特点

public class Snake {

private Node head = null;

private Node tail = null;

private int size = 0;

private Node n = new Node(20, 30, Direction.Left);

private Range r;

public Snake(Range r) {

head = n;

tail = n;

size = 1;

this.r = r;

}

public void addToTail() {

Node node = null;

switch (tail.direction) {

case Left:

node = new Node(tail.row, tail.col + 1, tail.direction);

break;

case Up:

node = new Node(tail.row + 1, tail.col, tail.direction);

break;

case Right:

node = new Node(tail.row, tail.col - 1, tail.direction);

break;

case Down:

node = new Node(tail.row - 1, tail.col, tail.direction);

break;

}

tail.next = node;

node.previous = tail;

tail = node;

size++;

贪吃蛇游戏课程设计实验报告全解

辽宁科技大学课程设计说明书 设计题目:基于C#的贪吃蛇游戏 学院、系:装备制造学院 专业班级:计算机科学与技术 学生姓名:叶佳佳 指导教师:丁宁 成绩: 2015年12月12日

目录 一、概述 (1) 1、用C#实现该设计的方法 (1) 2、贪吃蛇游戏说明 (1) 二、实验目的及设计要求 (1) 1、实验目的 (1) 2、实验要求 (2) 三、课程设计具体实现 (2) 1、概要设计 (2) 1.1、设计思想 (2) 1.2、主模块实现 (2) 1.3、主函数流程图 (4) 2、详细设计 (5) 2.1、设计思想 (5) 2.2、具体模块实现: (5) 四、调试过程及运行结果 (10) 1、调试过程 (10) 2、实验结果 (11) 五、实验心得 (12) 六、参考资料 (13) 七、附录:源代码 (13)

一、概述 1、用C#实现该设计的方法 首先应该了解设计要求,然后按照功能设计出实际模块,每个模块都要完成特定的功能,要实现模块间的高内聚,低耦合。设计模块是一个相当重要的环节,模块的数量不宜太多,也不宜太少,要是每个模块都能比较简单的转换成流程图。模块设计完成后,就该给每个模块绘制流程图。流程图要尽可能的简单且容易理解,多使用中文,补一些过长的代码,增加理解难度。此外,流程图应容易转换成代码。 根据流程图编写好代码后在WindowsXP操作系统,https://www.360docs.net/doc/e61065884.html,2008开发环境下进行运行测试,检查错误,最终设计出可行的程序。 2、贪吃蛇游戏说明 游戏操作要尽可能的简单,界面要尽可能的美观。 编写程序实现贪吃蛇游戏,贪吃蛇游戏是一个深受人们喜欢的游戏:一条蛇在密闭的围墙内,在围墙内随机出现一个食物,通过键盘上的四个光标键控制蛇向上下左右四个方向移动,蛇头撞到食物,则表示食物被吃掉,这时蛇的身体长一节,同时计10分;接着又出现食物,等待被蛇吃掉,如果蛇在移动过程中,撞到墙壁、障碍物或身体交叉(蛇头撞到自己的身体),则游戏结束。游戏结束时输出相应得分。 具体要求有以下几点: (1)对系统进行功能模块分析、控制模块分析正确,符合课题要求,实现相应功能;可以加以其他功能或修饰,使程序更加完善、合理; (2)系统设计要实用,采用模块化程序设计方法,编程简练、可用,功能全面; (3)说明书、流程图要清楚; 二、实验目的及设计要求 1、实验目的 .NET课程设计是教学实践环节中一项重要内容,进行此课程设计旨在掌握基础知识的基础上,进一步加深对VC#.NET技术的理解和掌握; 提高和加强学生的计算机应用及软件开发能力,使学生具备初级程序员的基本素质; 培养学生独立分析问题、解决问题、查阅资料以及自学能力,以适应信息管理行业日新 1

html5课程论文-基于html5的贪吃蛇游戏_本科论文

HTML5课程设计 题目:基于html5的贪吃蛇游戏 学院:__商学院___________专业:__ 信息管理与信息系统 姓名:韩斌 指导教师:田更 2015年6月10日

摘要 随着互联网技术的不断发展和计算机性能的不断提升,用户享受互联网的方式也开始不断的变化,越来越多的应用可以直接以浏览器打开的方式使用,数据则是存储在云端,更加的安全可靠,方便用户共享数据。在各种应用不断的趋于更加网络话的同时,一种新的技术标准也随之产生,那就是HTML5(HTML是一种标记语言也是一种标准,互联网开发居于此)。HTML5是近十年来Web(互联网)标准最巨大的飞跃,和以前的版本不同,HTML5并非仅仅用来表示Web内容,它的使命是将Web带入一个成熟的应用平台,在这个平台上,视频、音频、图象和动画,以及同电脑的交互都被标准化。也就是说HTML5是通过开放的技术和标准来实现一个无插件模式的富客户端,这个客户端可以在移动终端、PC(个人计算机)或者其他可以有网络的地方轻松的运行。所以此时研究HTML5,并且大胆的实践有着重要的意义。课题内容是使用HTML5技术基于Web的环境来制作一个网络版的“坦克大战”游戏应用,该游戏使用了HTML5中的Canvas(画布)、WebSocket(HTML5中最新使用的一种网络连接协议,用于实时通讯)、Audio(HTML5中控制声音的技术)等最新的技术。目前HTML5标准尚未成熟,很多地方仍在变动,API(应用程序接口)仍不是很稳定,所以还无法真正的完全商用或者全部普及开,但这并不会影响我们来研究它。服务器端采用的Nodejs(一种Javascript程序语言框架,可以在服务器端运行Javascript语言)这种新型的框架来开发,Nodejs使用Javascript语言来开发,使整个应用从客户端到服务器端编程都是使用Javascript,大大的

《贪吃蛇游戏课程设计》报告

贪吃蛇游戏程序设计 一、课程设计任务 贪吃蛇小游戏程序设计 二、设计要求 通过游戏程序设计,提高编程兴趣与编程思路,巩固C语言中所学的知识,合理的运用资料,实现理论与实际相结合。 (1).收集资料,分析课题,分解问题,形成总体设计思路; (2).对于设计中用到的关键函数,要学会通过查资料,弄懂其用法,要联系问题进行具体介绍; (3).上机调试,查错,逐步分析不能正常运行的原因,确保所设计的程序正确,并且能正常运行; (4).完成课程设计报告,并进行答辩 三、需求分析 3.1、程序功能 贪吃蛇游戏是一个经典小游戏,一条蛇在封闭围墙里,围墙里随机出现一个食物,通过按键盘四个光标键控制蛇向上下左右四个方向移动,蛇头撞倒食物,则食物被吃掉,蛇身体长一节,同时记10分,接着又出现食物,等待蛇来吃,如果蛇在移动中撞到墙或身体交叉蛇头撞倒自己身体游戏结束。 3.2、设计思想 程序关键在于表示蛇的图形及蛇的移动。用一个小矩形快表示蛇的一节身体,身体每长一节,增加一个矩形块,蛇头用俩节表示。移动时必须从蛇头开始,所以蛇不能向相反的方向移动,如果不按任意键,蛇自行在当前方向上前移,但按下有效方向键后,蛇头朝着该方向移动,一步移动一节身体,所以按下有效方向键后,先确定蛇头的位置,而后蛇

的身体随蛇头移动,图形的实现是从蛇头新位置开始画出蛇,这时,由于未清屏的原因,原来的蛇的位置和新蛇的位置差一个单位,所以看起来蛇多一节身体,所以将蛇的最后一节用背景色覆盖。食物的出现与消失也是画矩形块和覆盖矩形块。为了便于理解,定义两个结构体:食物与蛇。 3.3、流程图

四、设计的具体实现 (1)函数定义 函数定义是对各个基础函数的定义,并且设置需要运用的信息,便于调用 #define N 200 #define M 200 #include"graphics.h" #include #include #include #include #include #include #include #define LEFT 97//A #define RIGHT 100//D #define DOWN 115//S #define UP 119//W #define Esc 0x011b int i,key; int score=0; int gamespeed=250;//游戏速度可根据实际情况自行调整 struct Food { int x;//食物的横坐标 int y;//食物的纵坐标 int yes;//判断是否要出现食物的变量}food;//食物的结构体 struct Snake { int x[M]; int y[M]; int node;//蛇的节数 int direction;//蛇的移动方向 int life;//蛇的生命,0表示活着,1表示死亡 }snake; void Init();//图形驱动 void Close();//图形结束 void DrawK();//开始画面 void GamePlay();//玩游戏的具体过程void GameOver();//游戏结束 void PrScore();//输出成绩 (2)主函数main( ) 主函数是程序的主流程,首先定义使用到的常数、全局变量及函数原型说明,然后初始化图形系统,调用函数DrawK()画出开始画面,调用函数GamePlay(),即玩游戏的具体过程,游戏结束后调用Close()关闭图形系统,结束程序 void main()//主函数 { Init();//图形驱动 DrawK();//开始画面

贪吃蛇游戏的设计与实现毕业论文

毕业论文 论文题目贪吃蛇游戏的设计与实现院(系)名称计算机与信息工程学院专业名称计算机应用技术 班级 学生姓名 学号 指导教师姓名

目录 内容摘要: (1) 关键词: (1) Abstract: (1) Key words: (1) 1.游戏设计背景 (1) 1.1游戏设计原理 (1) 1.2游戏设计的运行环境 (1) 2.游戏设计相关知识介绍 (3) 2.1 Flash理论基础知识要点 (3) 2.2面向对象编程 (4) 2.3游戏制作中常用函数的属性与方法 (4) 3. 制作贪吃蛇游戏的整体规划 (7) 3.1贪吃蛇游戏的大致结构图 (7) 3.2游戏设计整体构思 (8) 3.3透视游戏设计的核心重点算法 (8) 3.4游戏设计核心重点函数控制 (8) 4. 游戏详细设计与核心技术 (8) 4.1游戏的详细设计 (8) 4.2游戏的核心技术 (10) 5.贪吃蛇游戏设计总结 (14) 参考文献 (15) 致谢 (16)

内容摘要:贪吃蛇游戏,因为制作简单,逻辑性较强,通常是学做游戏的必练的项目。贪食蛇游戏是目前各种流行手机中附带的一款休闲小游戏。 Flash是Macromedia公司发布的制作高压缩性网络内容的专业标准动画软件。随便打开一个网页,都能发现Flash动画的身影Flash动画作品已经充斥整个网络。毫无疑问Flash 已经是制作网络动画的霸主。透过现象看本质:游戏的制作与Flash的基础原理密不可分,同时也与制作者的良好修养密不可分,进而提高本身综合素质的的整体提高! 关键词:原理运行环境理论基础详细设计核心技术 Abstract:Snake game, because the production of simple logic is strong, often the game will learn to practice projects. Snake mobile game is all included with a popular casual games. Macromedia Flash is the production company released the contents of high-compression network of professional standards for animation software. Casually open a web page, Flash animation can be found in the figures of Flash animation has flooded the entire network. There is no doubt that Flash is already the dominant animation production network. Look beyond the surface: the game's basic principles of production and Flash are inseparable, but also with the producers of good training are inseparable, and thus improve their overall quality of the overall improvement! Key words:Principle operating environment Theoretical basis Detailed design Core Technology

java课程设计贪吃蛇

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

单片机贪吃蛇课程设计报告

电气与信息工程学院 单片机课程设计报告 一、设计任务及要求 基本功能: 制作一个8*8点阵的贪吃蛇游戏,系统以单片机的C语言的软件设计,系统通过LED点阵屏为载体显示数据,并用五个输入端表示五个控制键(上下左右及加速)。系统硬件部分由STC89C52RC单片机,8*8点阵屏,5个按键,软件部分在keil环境下用C51语言编写,包括游戏初始化蛇的节数,以及障碍墙壁,游戏结束时自动复位。 具体要求: 1、用四个按钮控制贪吃蛇的行径,一个按钮控制贪吃蛇的加速,蛇的初始长度为2点,设置墙壁。 2、蛇吃到长度为1点的食物时,自身长度增加1点。 2、速度按钮带有一次加速,按两下速度按钮蛇的行进速度回到初始值。 3、当蛇碰到墙壁或自己的身体时游戏结束。 4、用proteus设计,仿真基于STC89C52RC单片机的8x8点阵贪吃蛇的硬件电

路。 5、游戏结束,系统自动复位。 二、硬件电路设计 本系统以STC89C52RC为核心,设置12MHz的晶振,使得单片机有合理的运行速度。LED点阵屏通过LED(发光二极管)组成,以灯珠亮灭来显示程序的运行情况,是模块化的显示组件,本设计采用8*8共阳红色点阵显示屏,用来显示贪吃蛇的游戏画面。五个独立按键控制蛇的游走方向(上下左右)和加速减速的功能。贪吃蛇是一款经典的小游戏,玩家通过按键操控贪吃蛇不断地吃食物,蛇身逐渐伸长,当蛇碰到蛇身和墙壁时游戏结束。 需要注意的是实际元件中,点阵的封装不尽相同,因此需要测试出每个引脚的功能,以便正确连线。注意,每个像素点的额定电压在3v左右,电压过大将会彻底损坏。 三、系统软件设计 软件方面采用了C51编写代码,代码编写模块如下图: 核心代码主要为游戏处理、信息处理和按键处理。编写游戏的功能代码,先定义游戏的数据结构和常量。其中食物的数据结构采用结构体定义,两个unsigned char变量分别定义为食物的横纵坐标;蛇的身体定义为长度最大值为20的数组,游戏中贪吃蛇长度达到39,游戏通关结束。 游戏处理模块为贪吃蛇在游玩过程中遇到的需要被处理的情况,主要实现的功能包括以下四个方面,即移动、食物、死亡和加速。 1、移动

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 编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。

贪吃蛇游戏报告毕业设计android

武汉理工大学华夏学院课程设计 课程名称面向对象课程设计 题目贪吃蛇游戏 专业软件技术 班级软件2082班 学号10225508318 姓名王亭 成绩 指导教师 2010 年11月29日至2010年12月6日

课程设计任务书 设计题目:贪吃蛇游戏 设计目的 本课程的设计的目的是通过实践使同学们经历面向对象全过程和受到一次综合训练,以便能较全面地理解、掌握和综合运用所学的知识。结合具体的开发案例,理解并初步掌握系统分析、系统设计、系统实施的主要环节和步骤以及软件文档的制作能力。 设计任务(在规定的时间内完成下列任务) 1、系统功能的基本要求 移动:按下键盘上的A、D、S、W,分别使得方块向左移、右移、下移、上移,吃掉食物时,食物消失,蛇身自动增长,然后在随机产生食物,并判断食物产生的位置,以及游戏结束情况; 2、保存信息: 当玩家想保存游戏信息时,直接点击保存操作,并且可以查看到保存的信息。 时间安排 消化资料、系统调查 1天 系统分析、总体设计,实施计划、撰写报告3天 演示、验收1天 具体要求 1、明确课程设计的目的和重要性,认真领会课程设计的题目,读懂课程设计指导书的要求,学会设计的基本方法与步骤,学会如何运用前修知识与收集、归纳相关资料解决具体问题的方法。严格要求自己,要独立思考,按时、独立完成课程设计任务。 2、设计报告:要求层次清楚、整洁规范、不得相互抄袭,凡正文内容有整段完全相同者一律以抄袭论处。设计报告正文字数不少于0.2万字(不包括附录) 指导教师签名:2010年6月28日 教研室主任(或责任教师)签名:2010年6月28日

一、游戏功能 1.蛇头能够按照指定的方向进行移动,蛇身则是根据蛇头的移动方向进行移动; 2.蛇头吃掉食物后以后,食物消失并且蛇的身体要增长; 3.食物消失后能够重新产生新的食物,并且产生的新食物不能出现在蛇头和蛇身上; 4.蛇不能超出游戏的面板并且蛇头不能够撞到蛇身,否则游戏结束。 5.蛇头每吃掉一个食物游戏分数就会增长十分,游戏分数达到一定的等级后就会增加游戏的等级,并且还要能够记载游戏的时间; 6.进入游戏时能够选择游戏的难易程度; 7.结束游戏时能够保存游戏的相关信息,并且还能够查看游戏的排行榜。 二、使用的相关知识 winForm的编程、xml文件的数据存取操作、使用LINQ操作xml文件、面向对象的设计(MVC的模式) 三、整体思路

基于android贪吃蛇游戏本科毕业设计(论文)

本科毕业设计(论文) 题目名称:基于Android贪吃蛇游戏 学院:计算机科学技术 专业年级:计算机科学与技术08(师)级 学生姓名: 班级学号:2班28号 指导教师:

摘要 本课题是利用java语言在Android平台上进行手机游戏的开发,由于本人知识的有限,以及客观条件的限制,本人打算开发一个单机版的游戏。本人在手机上玩过贪吃蛇的游戏,曾经为了和别人比赛,苦苦的玩了好多次,追求高分!后来得知这个小小的游戏是nokia当年很成功的一款手机游戏,许多人都玩过,也很喜欢。现在这款游戏的版本已经发展到第三版了,手机生产厂商继续开发这个游戏,看来这个游戏还是有很大的市场的。Google公司2007年11月5日发布的开源的Android 平台——一款包括操作系统(基于Linux内核)、中间件和关键应用的手机平台,并组建了开放手机联盟(Open Handset Alliance),包括Google、中国移动、T-Mobile、宏达电、高通、摩托罗拉等领军企业。于是,我决定利用自己大学所学的知识,自己在指导老师的帮助下,独立开发这个小游戏。本文首先详细介绍了java的一些基本的知识点,在此基础上引出了Android,介绍了Android的基础以及其特点,然后介绍了一下Android将来的一些前景和发展。重点说明了这个贪吃蛇程序所用到的一些类和控件,包括Drawable,Canvas, Thread,等等。介绍了这些类的一般的使用方法,以及本程序是如何使用这些类来进行游戏的开发的。本程序将老少皆宜的经典作品移植到手机上来,为更流行的硬件平台提供应用软件。这些都将能很好的满足未来人们对手机游戏的需求。吞吃蛇游戏基于Android平台编写,满足一般手机用户的娱乐需求。 关键词:Android系统; 贪食蛇游戏; 手机游戏

贪吃蛇游戏设计毕业设计论文

毕业设计设计题目:贪吃蛇游戏

毕业设计(论文)原创性声明和使用授权说明 原创性声明 本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。 作者签名:日期: 指导教师签名:日期: 使用授权说明 本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。 作者签名:日期:

学位论文原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。 作者签名:日期:年月日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 涉密论文按学校规定处理。 作者签名:日期:年月日 导师签名:日期:年月日

贪吃蛇小游戏开发毕业论文

贪吃蛇小游戏开发毕业论文 目录 摘要.....................................................................I 1.引言 (2) 1.1开发工具 (2) 1.2应用环境 (2) 2.系统需求分析 (3) 2.1需求分析 (3) 2.2可行性分析 (3) 3.系统概要设计 (4) 3.1设计目标 (4) 3.2系统功能模块 (4) 4.系统详细设计 (6) 4.1程序设计 (6) 4.2程序源代码 (10) 4.3各功能界面截图 (23) 5.系统测试 (29) 5.1测试的意义 (29) 5.2测试过程 (29) 5.3测试结果 (30) 参考文献 (31) 致 (32)

1.引言 1.1 开发工具 Sun Microsystems公司在推出Java语言的同时,推出了一套开发工具JDK。Sun提供的基于字符模式的Java开发工具包JDK: Java开发工具(JDK)是许多Java专家最初使用的开发环境。Java是平台无关的语言是指用Java写的应用程序不用修改就可在不同的软硬件平台上运行。 Java源程序编写借助于记事本,Editpuls,UltraEdit等第三方编辑工具。 所有的Java文件编辑、编译、调试、解释运行都是通过使用字符命令来执行操作。JDK由一个标准类库和一组建立,测试及建立文档的Java实用程序组成。其核心Java API是一些预定义的类库,开发人员需要用这些类来访问Java语言的功能。JDK 是整个Java的核心,包括了Java运行环境(Java RuntimeEnvirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是置了某个版本的JDK。因此掌握JDK是学好Java的第一步。 JDK里面是java类库和java的语言规,它提供的是无论你用何种开发软件写java程序都必须用到的类库和java语言规.没有jdk,你的java程序根本就不能用。 最主流的JDK是Sun公司发布的JDK,除了Sun之外,还有很多公司和组织都开发了自己的JDK,例如IBM公司开发的JDK,BEA公司的Jrocket,还有GNU组织开发的JDK等等。其中IBM的JDK包含的JVM(Java Virtual Machine)运行效率要比SunJDK包含的JVM高出许多。而专门运行在x86平台的Jrocket在服务端运行效率也要比SunJDK好很多。但不管怎么说,我们还是需要先把Sun JDK掌握好。 1.2 应用环境 (1).操作系统:Solaris、Windows NT、Windows 95等 (2). 应用软件:jdk1.5

贪吃蛇毕设

一、选题的目的及研究意义 贪吃蛇游戏是一款非常经典的手机游戏,贪吃蛇的设计比较复杂,它涉及的面广、牵涉方面多,如果不好好考虑和设计,将难以成功开发出这个游戏。在这个游戏设计中,牵涉到图形界面的显示与更新、数据的收集与更新,并且在这个游戏的开发中,还要应用c语言的图形库函数。因此,在设计开发过程中,要对c语言的图形库函数有一定的了解,利用图形库函数实现一些功能。 贪吃蛇之所以取这样的名字,其用意还是很明显的,贪吃蛇其实并不贪,它是人不断地追求的象征,就像现代的人只有不断努力向前才能得到自己想要的。而食物也是随机出现的,就像现在社会存在的机会,而我们只有找好自己的目标才能成功。 虽然现在市面上存在各种各样的游戏版本,可是贪吃蛇市场还是相当的大。因为它的特殊在于吸引人更深入,爱不释手。随着游戏速度不断加快,其刺激也更强。可以说该游戏的优势在于它的简单易行,不论是手机,还是小游戏机。都能很快顺利的运行。对于在外忙碌的人,不可能花费大量的时间在娱乐上,大型游戏是行不通的。这样的小游戏刚好迎合他们的需求。 二、综述与本课题相关领域的研究现状、发展趋势、研究方法及应用领域等 引言近年来,随着通信技术的高速发展,移动网络和移动终端性能的不断提高与完善,以及手机的高普及率,使得人们对手机终端应用开发的需求在不端增大。其对手机的要求已不仅仅是作为简单的通讯工具,而是渐渐习惯于将手机最为新的娱乐工具,而手机游戏在手机应用程序中所占的比例是最大的。Sun公司的J2ME(Java 2 Micro Edition)平台作为承载移动增值业务的主要平台之一,专门针对能力受限的小型移动设备,为手机游戏开发提供了得天独厚的环境。Java语言能够实现具备复杂逻辑和功能的手机游戏J,2ME是Java平台标准的子集,和符合Java标准的程序有更好的兼容性,大量已有的Java游戏程序将被应用到手机上或者和手机应用互动。因此,在当前J2ME手机游戏有着巨大的市场机遇和商业价值的背景下,在J2ME手机游戏技术比较成熟的背景下,加强J2ME手机游戏的开发来满足市场的需求是大势所趋。贪食蛇游戏操作简单方便,老少皆宜,是一款不错的小游戏。而Linux挟其价格低廉、品质良好与稳定的优势,正吸引着众多以PC为主工作、学习和娱乐的人们。基于Linux平台下的贪食蛇游戏采用的Linux底下C语言和GTK图形化编程工具编写,操作简单。玩家首先进入游戏,在游戏中可以对游戏进行暂停、退出等操作,还加入了双人对战模式,丰富了游戏,增大游戏的娱乐性。 三、对本课题将要解决的主要问题及解决问题的思路与方法、拟采用的研究方法(技术路线)或设计(实验)方案进行说明 1.主要问题 1)通过随机函数产生随机数,控制游戏过程食物的出现:

毕业设计论文-小游戏贪吃蛇的详细设计

摘要 在我们空闲的时候,我们可以用一些我们学过的知识编一些东西,通过这些东西我们可以学习到汇编语言综合应用程序设计方法,还可以提高汇编语言实际应用能力,充分了解计算机硬件和软件,完成理论到实践的推进过程。这个程序就是用我所学过的汇编知识编的一个小游戏,这个游戏的程序主要就是用汇编宏和子程序的知识来编制而成的,我们用宏和子程序定义了很多的模块,模块也就是在我们的程序中直接可以调用的一个独立的程序。所以我们编写程序的时候可以很方便的用到它,所以那些基础知识也是我们编写程序的基础。关键词汇编贪吃蛇小游戏

前言 现在有的一些人感觉生活都是很无聊的,特别是我们这些学生,所以有些时候肯定会玩各种各样的游戏的,有一些大的游戏,玩起来会话掉很多的时间,而且也会花掉大量精力的,所以在一些闲暇的时候一些小游戏会博得很多人的喜爱,例如:俄罗斯方块,和一些格斗游戏等等。然而这些小游戏的设计方法和软件有很多,所以也有很多不同的效果,本篇设计是采用汇编中宏定义和调用,子程序的调用等一些汇编知识编制而成的一个贪吃蛇小游戏,通过这个小游戏的制作,我们可以得到很多的益处,一方面我们可以不在浪费平时的一些空闲的时间了,而热中于我们自己喜欢的游戏;另一个方面我们制作完游戏还可以给自己或者别人来享受一下,同时自己也会有一种成就感。特别当你用自己学到的知识制作出一个东西的时候,或者克服一个困难的时候你就会发现你自己的价值所在了,而且这还能促进你喜欢学习的念头。

目录 一、系统分析…………………………………………………………………… 二、系统总体设计…………………………………………………………… 三、详细设计…………………………………………………………………… 1、窗口化程序…………………………………………………………… 2、建立小蛇和食物……………………………………………………… 3、初始对话框…………………………………………………………… 4、小蛇和食物的位置……………………………………………………… 5、分配内存空间…………………………………………………………… 6、调整链表大小…………………………………………………………… 四、系统测试…………………………………………………………………… 1测试方案及用例………………………………………………………… 2.测试结果及软件可靠性分析…………………………………………… 3.游戏规则…………………………………………………………………… 五、软件使用说明书…………………………………………………………… 六、设计总结……………………………………………………………………参考文献………………………………………………………………………… 致谢……………………………………………………………………………… 程序清单………………………………………………………………………

《贪吃蛇游戏课程设计》报告毕业设计(论文)

戏程序设计 一、课程设计任务 贪吃蛇小游戏程序设计 二、设计要求 通过游戏程序设计,提高编程兴趣与编程思路,巩固C语言中所学的知识,合理的运用资料,实现理论与实际相结合。 (1).收集资料,分析课题,分解问题,形成总体设计思路; (2).对于设计中用到的关键函数,要学会通过查资料,弄懂其用法,要联系问题进行具体介绍; (3).上机调试,查错,逐步分析不能正常运行的原因,确保所设计的程序正确,并且能正常运行; (4).完成课程设计报告,并进行答辩 三、需求分析 3.1、程序功能 贪吃蛇游戏是一个经典小游戏,一条蛇在封闭围墙里,围墙里随机出现一个食物,通过按键盘四个光标键控制蛇向上下左右四个方向移动,蛇头撞倒食物,则食物被吃掉,蛇身体长一节,同时记10分,接着又出现食物,等待蛇来吃,如果蛇在移动中撞到墙或身体交叉蛇头撞倒自己身体游戏结束。 3.2、设计思想 程序关键在于表示蛇的图形及蛇的移动。用一个小矩形快表示蛇的一节身体,身体每长一节,增加一个矩形块,蛇头用俩节表示。移动时必须从蛇头开始,所以蛇不能向相反的方向移动,如果不按任意键,蛇自行在当前方向上前移,但按下有效方向键后,蛇头朝着该方向移动,一步移动一节身体,所以按下有效方向键后,先确定蛇头的位置,而后蛇

的身体随蛇头移动,图形的实现是从蛇头新位置开始画出蛇,这时,由于未清屏的原因,原来的蛇的位置和新蛇的位置差一个单位,所以看起来蛇多一节身体,所以将蛇的最后一节用背景色覆盖。食物的出现与消失也是画矩形块和覆盖矩形块。为了便于理解,定义两个结构体:食物与蛇。 3.3、流程图

四、设计的具体实现 (1)函数定义 函数定义是对各个基础函数的定义,并且设置需要运用的信息,便于调用 #define N 200 #define M 200 #include"graphics.h" #include #include #include #include #include #include #include #define LEFT 97//A #define RIGHT 100//D #define DOWN 115//S #define UP 119//W #define Esc 0x011b int i,key; int score=0; int gamespeed=250;//游戏速度可根据实际情况自行调整 struct Food { int x;//食物的横坐标 int y;//食物的纵坐标 int yes;//判断是否要出现食物的变量}food;//食物的结构体 struct Snake { int x[M]; int y[M]; int node;//蛇的节数 int direction;//蛇的移动方向 int life;//蛇的生命,0表示活着,1表示死亡 }snake; void Init();//图形驱动 void Close();//图形结束 void DrawK();//开始画面 void GamePlay();//玩游戏的具体过程void GameOver();//游戏结束 void PrScore();//输出成绩 (2)主函数main( ) 主函数是程序的主流程,首先定义使用到的常数、全局变量及函数原型说明,然后初始化图形系统,调用函数DrawK()画出开始画面,调用函数GamePlay(),即玩游戏的具体过程,游戏结束后调用Close()关闭图形系统,结束程序 void main()//主函数 { Init();//图形驱动 DrawK();//开始画面

贪吃蛇课程设计

贪吃蛇课程设计

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

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

目录 1需求与总体设计 ............................................................... 错误!未定义书签。

1.1总体设计思路 ................................................................ 错误!未定义书签。 1.2系统主要功能图 ............................................................ 错误!未定义书签。 1.3系统主要类图 ................................................................ 错误!未定义书签。2详细设计........................................................................... 错误!未定义书签。 2.1 Login类 .......................................................................... 错误!未定义书签。 2.2 SnakeFrame类 ............................................................... 错误!未定义书签。 2.3 SnakeModel类............................................................... 错误!未定义书签。 2.4 SnakePanel类 (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)

Android贪吃蛇课程设计报告

XXXX学院 计算机科学系《Android程序设计》课程设计报告 题目:贪吃蛇 专业:计算机科学与技术 班级: B11计科班 学号: 110807510 姓名:凌波微步 Q Q :2446872525 指导教师: 2014年6月

目录 第一章绪论 (2) 1.1游戏简介 (2) 1.2开发目的及意义 (3) 1.3开发环境及工具 (3) 第二章需求分析 (4) 2.1游戏界面分析 (4) 2.2游戏角色分析 (4) 2.3游戏控制分析 (4) 第三章总体设计 (5) 3.1系统功能模块层次图 (5) 3.2运行机制 (6) 3.3贪吃蛇功能流程图 (7) 第四章详细设计与实现 (9) 4.1 SnakeActivity类 (9) 4.2 MyTile类 (10) 4.3 NextActivity类 (18) 4.4 SysApplication类 (19) 4.5界面设计 (20) 第五章测试 (24) 5.1功能测试 (24) 5.4测试结果 (25) 第六章结论 (25) 第一章绪论 1.1游戏简介 贪吃蛇游戏是一款手机游戏,同时也是一款比较需要耐心的游戏。贪吃蛇游

戏是一条蛇,不停地在手机屏幕上游走,吃在手机屏幕上出现的食物。当蛇吃掉1个食物后会变长,并且吃完食物时食物会消失,并立即随机生成1个新的食物,只要蛇头碰到屏幕四周或者碰到自己的身子,蛇就立即毙命。 1.2开发目的及意义 通过本次课程设计,了解android软件的开发过程,熟悉并掌握JA VA语言,程序关键在于表示蛇的图形及蛇的移动。用一个小矩形块表示蛇的一节身体,身体每长一节,增加一个矩形块,蛇头用一节表示。移动时必须从蛇头开始,所以蛇不能向相反的方向移动,如果不按任意键,蛇自行在当前方向上前移,但按下有效方向键后,蛇头朝着该方向移动,一步移动一节身体,所以按下有效方向键后,先确定蛇头的位置,而后蛇的身体随蛇头移动。意义是方便人们在休闲时通过玩手机游戏获得一点快乐,同时锻炼自己的大脑。 1.3开发环境及工具 在Window8下进行,采用eclipse开发工具,基于安卓2.2操作系统。 环境搭建: 1. JDK安装 2. Eclipse安装 3. Android SDK安装 4. ADT安装创建AVD

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 游戏结束界面

相关主题
相关文档
最新文档