贪吃蛇游戏-概要设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《项目名称》概要设计说明书

2010-01

目录

1 概述 (1)

1.1 编写目的 (1)

2 需求概述 (1)

2.1 目标与需求 (1)

2.2 环境描述 (1)

3 总体设计 (1)

3.1 总体解决方案 (1)

3.1.1 软件体系结构 (1)

3.1.1.1显示层类图 (2)

3.1.1.2控制层类图 (2)

3.1.1.3业务层类图 (2)

3.1.1.4实体层类图 (2)

3.1.2控制层顺序图 (3)

3.1.3显示层顺序图 (4)

4 接口设计 (4)

4.1 内部接口设计 (4)

1 概述

1.1 编写目的

本文档的编写目的是:详细定义贪吃蛇游戏的总体功能;给出系统的结构设计,作为过程设计和程序编写的依据。

2需求概述

2.1 目标与需求

在游戏中,玩家操控一条蛇,它会不停前进,玩家只能操控蛇的头部朝向(上下左右),吃掉食物,并要避免触碰到自身或者墙壁。每次贪食蛇吃掉一件食物,它的身体便增长一些,蛇的身体越长,游戏得分越高,直到蛇碰到墙壁或者自身时候,游戏结束。

2.2 环境描述

jre1.5版本或以上

Windows xp

3 总体设计

3.1 总体解决方案

设计贪吃蛇时采用面向对象的设计方法。

3.1.1 软件体系结构

整个贪吃蛇游戏由显示层、控制层、业务层、实体层组成。

软件体系结构图如下。

图1软件体系结构图

显示层:将蛇、食物、墙通过加载相应的图片形式化显示出来。

控制层:接收键盘事件,调用相关事件处理方法,以及计算游戏分数等方法实体层:包含蛇、食物、墙数据(坐标,长度等)

业务层:具体的事件处理方法,以及对实体层数据进行更新的具体方法

以下为各层的核心类。

3.1.1.1显示层类图

parse

图2显示层类图

显示层只有一个边界类parse。

3.1.1.2控制层类图

mainProcess

图3控制层类图

控制层只有一个mainProcess一个控制类。

3.1.1.3业务层类图

keyPressed

图4业务层类图

业务层只有一个类keyPressed。

3.1.1.4实体层类图

图5实体层类图

包含Food、Snake和Wall 3个实体类。

3.1.2控制层顺序图

图6控制层顺序图

当捕获到键盘事件时控制层的mainProcess将事件以消息的方式传给业务层的keyPressed类,此时keyPressed从实体层的Snake类和food类中获取数据,之后判断是否可以继续前进,如果判断出蛇可以前进,更新实体层Snake类和Food类中的属性。

3.1.3显示层顺序图

: Snake : Wall : Food

图7显示层顺序图

当Timer触发时候,显示层的parse类查询实体类中的Snake类、Wall类、Food类中坐标数据,之后使用贴图(图片)将它们显示出来。

4 接口设计

4.1 内部接口设计

这里规定了实体层的Snakelei和Food类两个类的接口,有助于之后对游戏的扩展。

4.1.2Snake类接口

void move()蛇根据当前前进方向前进

int getLength()获得蛇程度

boolean eat()蛇吃掉食物,自身长度增加

boolean hit()判断蛇是否撞到自己

4.1.2Food类接口

int getPosX()获得食物横坐标

int getPosY()获得食物纵坐标

相关文档
最新文档