后把头指针所指的节点出队,并以游戏框架内部背景色重绘出队的节点,这样就可以达到移动的效果。而在吃到食物的时候则只需把食物入队即可。实现贪吃蛇的基本的蛇身移动、吃到食物身体增长、和碰到墙壁或自身死亡,能够暂停和开始。
本次设计我将主要运用java语言来完成。Java语言是一种跨平台,适合于分布式计算环境的面向对象编程语言,用Java写的应用程序不用修改就可在不同的软硬件平台上运行。
由于Java主要用于网络应用程序开发,因此对安全性有较高的要求。如果没有安全保证,用户从网络下载程序执行就非常危险。Java通过自己的安全机制防止了病毒程序的产生和下载程序对本地系统的威胁破坏。
2
f大连交通大学计算机工程实践
第三章系统概要设计
31设计目标
本软件是针对贪吃蛇小游戏的JAVA程序,利用方向键来改变蛇的运行方向,空格键暂停或继续游戏,并在随机的地方产生食物,吃到食物就变成新的蛇体,碰到壁或自身则游戏结束,否则正常运行。
32系统功能模块
本系统共包括1个java源文件和7个类文件。1类之间的关系如图1所示。
S
akeGame
S
akeFrame
S
ake
Node
S
akePa
el
StatusRu
ableS
akeRu
able
图1类之间的关系
3
f大连交通大学计算机工程实践
2.java源文件及其功能如表所示。
表1java源文件及其功能
序号
文件名
主要功能
1S
akeGame
该文件为程序入口,含有mai
方法。
2S
akeFrame
实现菜单控制运行等总体要求,实现方向键控制蛇的方向,空格键控制游戏暂停或继续,还有分数等。
3S
ake
该文件实现蛇的结构和具体运动,如判断食物是否和怎样被吃掉及判断后的动作。
4Node
该文件实现组成蛇身的单位食物。
5S
akePa
el
该文件实现画板功能,用红蓝间隔画蛇身。
StatusRu
abl该文件为记录状态的线程。6
e
7S
akeRu
able该文件为蛇运动以及记录分数的线程。
4
f大连交通大学计算机工程实践
第四章系统详细设计
41程序设计
1主类S
akeGame
(1)主类为此程序的入口,定义了S
akeFrame的对象frame开始运行此程序。
(2)源代码见文件S
akeGameJava
2类S
akeFrame
(1)成员变量见表2
表2主要成员变量
成员变量描述
变量类型
名称
状态标签分数标签蛇面板速度标签蛇类对象菜单条游戏菜单帮助菜单速度菜单新菜单项暂停菜单项关于菜单项慢菜单项中间菜单项快菜单项开始菜单项帮助菜单项
PrivateJLabelPrivateJLabelprivateJPa
elprivateJLabelprivateS
akeprivateJMe
uBarJMe
uJMe
uJMe
uJMe
uItemJMe
uItemJMe
uItemJMe
uItemJMe
uItemJMe
uItemJMe
uItemJMe
uItem
statusLabelscoreLabels
akePa
elspeedLabels
akebr