基于地图定位的场景交互游戏设计说明书

基于地图定位的场景交互游戏设计说明书
基于地图定位的场景交互游戏设计说明书

设计说明书

Invisible War

基于地图定位的场景交互游戏(iOS)

目录

第1章 数据库设计 (4)

1.1 数据库总体设计 (4)

1.2 数据库结构设计 (4)

第2章 接口设计 (9)

2.1 接口数据交换格式 (9)

2.2 基于HTTP的网络请求 (9)

2.3 相关接口设计 (9)

2.3.1注册接口 (9)

2.3.1登录陆口 (10)

2.3.3获取塔信息接口 (11)

2.3.4使用步数换取能量接口 (13)

2.3.5获取日志信息接口 (13)

第3章 服务开发运行环境 (15)

3.1 接口运行环境 (15)

3.2 接口发布环境 (15)

第4章 系统设计 (16)

4.1 系统的总体设计 (16)

4.1.1 模型(Model) (16)

4.1.2 视图(View) (16)

4.1.3 控制器(Controller) (17)

4.2 底层模块设计 (17)

4.2.1网络请求模块封装设计 (17)

4.2.2 全局单例模式设计 (17)

4.3 注册登录模块设计 (18)

4.3.1 功能描述 (18)

4.3.2 逻辑设计 (18)

4.4 地图定位模块设计 (19)

4.4.1 功能描述 (19)

4.4.2 逻辑设计 (19)

4.5 能量工厂模块设计 (20)

4.5.1 功能描述 (20)

4.5.2 逻辑设计 (20)

4.6 攻击/加固模块设计 (20)

4.6.1 功能描述 (20)

4.6.2 逻辑设计 (20)

4.7 放置模块设计 (21)

4.7.1 功能描述 (21)

4.7.2 逻辑设计 (21)

4.8 背包模块设计 (22)

4.8.1 功能描述 (22)

4.8.2 逻辑设计 (22)

4.9 个人模块设计 (22)

4.9.1 功能描述 (22)

4.9.2 逻辑设计 (22)

第1章数据库设计

1.1 数据库总体设计

以下是数据库总体设计的ER图,图中包括了数据库设计中所有的关系,以及所有需要的属性以及实体。

图 1 IW数据库总体ER图

1.2 数据库结构设计

以下是数据库结构设计:

表1-1 游戏用户表(iw_users)

字段名 字段描述 类型 约束 示例

uid 用户的 UID int(11) PK 1

user_name 用户名 varchar(255) NN 用户名

user_power 用户总能力值 int(8) NN 1000

user_powernow 用户当前能力值 int(8) NN 500

device_code 设备码,唯一标识 varchar(255) NN 20150555 avatar_file 头像文件 varchar(128) NN touxiang.png step_num 用户当前行走步数 int(8) NN 100

update_time 最新更新步数时间 datetime NN 2016-04-10

00:00:00

reg_time 注册时间 datetime NN 2016-04-10

00:00:00

last_login 最后登录时间 datetime NN 2016-04-10

00:00:00 forbidden 是否禁止用户 tinyint(1) NN 0

belong_group 用户阵营 tinyint(1) NN 0

表1-2 宝塔表(iw_pagoda)

字段名 字段描述 类型 约束 示例

pid 宝塔的ID int(11) PK 1

pname 塔名称 varchar(255) NN 名称

uid 占领用户 int(11) NN FK 1

longitude 经度 double(32,24) NN 34.1111 latitude 纬度 double(32,24) NN 117.1111 pphoto 宝塔图标 varchar(128) NN baota.png belong_group 所属阵营 tinyint(1) NN 0

pintro 宝塔描述 text NN 这是一座塔

表1-3 物品总表(iw_item)

字段名 字段描述 类型 约束 示例

item_id 物品ID int(11) PK 1

item_type_id 分类的物品ID int(11) NN 1

item_type 物品类别 int(11) NN 1

item_name 物品名称 varchar(255) NN 武器

item_photo 物品图标 varchar(128) NN item.png

item_quality 稀有度 int(8) NN 0

item_intro 物品描述 text NN 这是一个物品

表1-4 装置表(iw_package)

字段名 字段描述 类型 约束 示例

unitid 装置的ID int(11) PK 1

item_id 物品ID int(11) NN FK 1

uhp 装置血量 int(8) NN 100

uatk 装置攻击力 int(8) NN 100

udef 装置防御力 int(8) NN 100

collect_effi 采集效率 int(8) NN 100

con_energy 需要消耗的能力 int(8) NN 100

lifetime 生命期 int(8) NN 100

表1-5 武器表(iw_package)

字段名 字段描述 类型 约束 示例

wid 武器的ID int(11) PK 1

item_id 物品ID int(11) NN FK 1

wpower 使用需耗费能量值 int(8) NN 100

watk 武器攻击力 int(8) NN 100

eff_type 武器效能类型 int(8) NN 1

eff_level 武器效能级别 int(8) NN 1

表1-6 土地表(iw_field)

字段名 字段描述 类型 约束 示例

fid 武器的ID int(11) PK 1

pid 所属宝塔ID int(11) NN FK 1

uid 装置所属人ID int(11) NN 1

unitid 所放装置的ID int(11) NN 1

set_time 放置时间 datetime NN 2016-04-10

00:00:00

fhp 所剩血量 int(8) NN 100

fatk 土地的攻击力 int(8) NN 100

fdef 土地的防御力 int(8) NN 100

collect_effi 采集效率 int(8) NN 100

expire_time 到期时间 datetime NN 2016-04-10

00:00:00 fnumber 土地编号 int(8) NN 1

fintro 土地描述 text 这是一块土地

表1-7 宝塔掠夺日志表(iw_pagoda_log)

字段名 字段描述 类型 约束 示例

id 日志ID int(11) PK 1

uid 用户ID int(11) NN FK 1

pid 宝塔 ID int(11) NN FK 1

content 日志内容 varchar(256) NN 攻击了这座塔 msg_type 日志分类 tinyint(1) NN 1

add_time 发布时间 datetime NN 2016-04-10

00:00:00

表1-8 用户物品关联表(iw_users_item)

字段名 字段描述 类型 约束 示例

id 关联ID int(11) PK 1

uid 用户ID int(11) NN FK 1

item_id 物品ID int(11) NN FK 1

item_type 物品类别 tinyint(1) NN 1

item_num 物品数量 int(8) NN 1

表1-9 宝塔掠夺日志表(iw_users_pagoda)

字段名 字段描述 类型 约束 示例

id 日志ID int(11) PK 1

uid 用户ID int(11) NN FK 1

pid 宝塔 ID int(11) NN FK 1

rob_time 上一次掠夺时间 datetime NN 2016-04-10

00:00:00

表1-10 用户状态表(iw_users_status)

字段名 字段描述 类型 约束 示例

id 状态的ID int(11) PK 1

uid 用户ID int(11) NN FK 1

content 状态内容 varchar(256) NN 啊哈 longitude 经度 double(32,24) NN 34.1111 latitude 纬度 double(32,24) NN 117.1111 rob_time 发布时间 datetime NN 2016-04-10

00:00:00 flag 状态查看权限 tinyint(1) NN 1

表1-11 能量包表(iw_energy)

字段名 字段描述 类型 约束 示例 eid 能量包的ID int(11) PK 1 item_id 物品ID int(11) NN FK 1 epower 能量值 int(8) NN 1

表1-12 包裹表(iw_package)

字段名 字段描述 类型 约束 示例 pgid 包裹的ID int(11) PK 1 item_id 物品ID int(11) NN FK 1

第2章接口设计

2.1 接口数据交换格式

接口采用轻量级的JSON作为数据交换格式。JSON 是一种轻量级的数据交换格式,采用了类似于 C 语言家族的习惯(如 C,C++,Java 等),但是本身是一种独立于语言之外的文本格式,既便于开发者阅读和编写,同时也易于机器解析和生成。

本系统在与服务器交换过程便是采用这种类型的数据,在部分本地数据的存储和应用上提供类似的构造和解析操作接口,并且在部分存储过程,也直接采用 JSON 格式写入数据库。

2.2 基于HTTP的网络请求

客户端集成了HttpClient,可以直接使用HttpClient来发送HTTP请求,其实质就是把HTTP请求模拟后发给服务器。

Http连接请求包括Post方法和Get方法,Get方法获取网络服务链接数据的一般步骤如下:

1. 构造HttpClient对象,管理请求。

2. 构造HttpGet对象,向服务器发起请求。

3. 发起请求,获得HttpResponse对象,从中读取数据。

Post请求的构造相较于Get要复杂一些,需要将应用提交至服务器的数据打包放入请求对象中,比如表单数据可以通过UrlEncodedFormEntity对象构造,二进制数据可以通过ByteArrayEntity对象封装。

一般情况下,DefaultHttpClient对象是线程非安全的,不能在多个线程中同时调用DefaultHttpClient对象的方法,要保证HttpClient的线程安全性,可以设置线程安全的管理对象或者选择使用AndroidHttpClient对象来替代DefaultHttpClient。

2.3 相关接口设计

根据系统需要,我们总共设计了14个接口,包括注册接口、登录接口、使用步数换取能量接口、获取塔信息接口、获取用户物品背包接口、使用武器接口、获取日志接口等。下面选取部分代表接口做主要描述。

2.3.1注册接口

1.接口说明

客户端用户注册接口

请求方式:POST、GET

2. 传入参数

参数 必选 类型及范围 说明

device_code true string 机器设备码

username true string 用户名

group true int 所属势力 1 => A势力,2 => B势力

3. 返回值

字段 类型及范围 说明

data string/json

uid int 用户 UID

username string 用户名

laststep_time string 上一次将步数换成物品的时间

laststep int 上一次将步数换成物品后剩余步数

user_powernow int 目前的能量

user_power int 用户总能量

group int 用户所属阵营 1 => A势力,2 => B势力

isRegisted int 该设备码是否已被注册过 0 =>未注册,1 => 已注册

code int 错误码

msg string 错误信息

2.3.1登录陆口

1.接口说明

客户端登录接口

请求方式:POST、GET

2. 传入参数

参数 必选 类型及范围 说明 device_code true string 机器设备码

3. 返回值

字段 类型及范围 说明

data string/json

uid int 用户 UID

username string 用户名

laststep_ti

me

string 上一次将步数换成物品的时间 laststep int 上一次将步数换成物品后剩余步数 user_powern

ow

int 目前的能量

user_power int 用户总能量

group int 用户所属阵营 1 => A势力,2 => B势力

isRegisted int 该设备码是否已被注册过 0 => 未注册,1 => 已注册

code int 错误码

msg string 错误信息

2.3.3获取塔信息接口

1. 接口说明

获取塔信息接口

请求方式:POST、GET

2. 传入参数

参数 必选 类型及范围 说明 device_code true string 机器设备码 portal_id true int 入侵的能量源id

3. 返回值

字段 类型及范围 说明

data string/json

具体信息见示例

code int 错误码

msg string 错误信息

4. 接口返回核心信息示例

"portal_info": {

"portal_atk": 200,

"portal_owner_id": 4,

"portal_lon": 116.31721739558647,

"portal_lat": 39.96803111070252,

"portal_lands": [

{

"lands_unit_quality": "1",

"lands_index": 1,

"lands_time": "2016-04-20 15:56:32.0",

"lands_def": 20,

"lands_unit_gain": "50",

"lands_intro": "",

"lands_unit_name": "Uuo能量采集器Lv1",

"lands_unit_intro": "用于采集Uuo能量的装置,能够为工厂提高采集效率", "lands_id": 1,

"lands_unit_hp": "250",

"lands_unit_type": 1,

"lands_unit_photo":

"http://120.27.92.220/Photo/Unit_Photo/collector.png",

"lands_atk": 0,

"lands_gain": 50,

"lands_unit_def": "0",

"lands_unit_atk": "0",

"lands_hp": 835,

"lands_username": "admin",

"lands_uid": 1,

}

],

"portal_photo": "http://120.27.92.220/Photo/Portal_Photo/1.jpg", "portal_id": 1,

"portal_intro": "软件学院门口的石碑",

"portal_group": 1,

"portal_name": "BIT软件石碑",

"portal_gain": 115,

"portal_owner_name": "Ccyuan"

}

2.3.4使用步数换取能量接口

1. 接口说明

客户端使用步数兑换能量接口

访问地址:http://120.27.92.220:30001/?if=StepsToEnergy 请求方式:POST、GET

2. 传入参数

参数 必选 类型及范围 说明 device_code true string 机器设备码

uid true int 用户ID

stepnum true int 用户今天行走总步数

3. 返回值

字段 类型及范围 说明 data string/json

uid int 用户 UID

energy_now int 用户目前能量值 alsteps int 用户今天已兑换步数 code int 错误码

msg string 错误信息

2.3.5获取日志信息接口

1. 接口说明

客户端获取日志信息接口

请求方式:POST、GET

2. 传入参数

参数 必选 类型及范围 说明

pid true int 塔 ID

logid false int 上一页最后一条数据的 ID limit false int 每页数据条数

msg_type false int 日志类型 0 => 系统日志;1 => 用户发送

3. 返回值

字段 类型及范围 说明 data string/json

uid int 产生该条日志记录的用户 ID

username string 用户名

user_photo string 用户头像

group int 用户所属阵营 1 => A势力,2 => B势力 pid int 塔 ID

logid int 日志 ID

content string 日志内容

msg_type int 日志类型 0 => 系统日志;1 => 用户发送 add_time string 添加时间

code int 错误码

msg string 错误信息

第3章服务开发运行环境3.1 接口运行环境

n操作系统:windows 8.1

n浏览器:Chrome浏览器

n测试环境:jdk 1.7.0

n数据库:MySql 3.4.10.1

n开发工具:Eclipse 4.3.2

3.2 接口发布环境

n操作系统:CentOS 7.0

n测试环境:jdk 1.7.0

n数据库:MySql 3.4.10.1

n其他环境:Apache

第4章客户端设计

4.1 系统的总体设计

模型-视图-控制器(Model-View-Controller,MVC)是当前被广泛应用的一种软件架构。在Apple公司搭建的SDK中,MVC架构的优点得到了充分的发挥,使得软件的开发与管理过程得到了简化,其中MVC之间的通信关系如下图4-1所示。

图4-1 iOS中的MVC关系图

4.1.1 模型(Model)

模型对象封装了软件中的数据,并且定义了数据的操作和处理数据的逻辑和运算。例如在本应用中,模型对象可能是储存于本地的聊天数据。用户在视图中所进行的创建或修改数据的操作,通过控制器对象来与模型对象交互,最终会创建或更新模型对象。模型对象发生变化时(例如通过网络连接接收到新数据),它会通知控制器对象,控制器对象再更新相应的视图对象。

4.1.2 视图(View)

视图对象指的是软件中用户可以看见的对象,例如界面上的控件等元素,视图对象中定义了其自身的绘制方法,并可以对用户的操作作出响应。视图对象的主要目的,是用来显示来自软件中模型对象的数据,并使该数据在功能允许的情

况下被用户编辑。但是,在使用MVC架构的软件中,视图对象通常与模型对象分离,不直接进行交互,而是通过控制器对象来传达操作。

在iOS应用程序开发中,所有的控件、窗口等都继承自 UIView,对应MVC 中的V。UIView及其子类主要负责UI的实现,而UIView所产生的事件都可以采用委托的方式,交给UIViewController实现。

4.1.3 控制器(Controller)

在应用程序的视图对象和模型对象之间,控制器对象以中间人的角色存在。控制器对象是同步管道程序,视图对象通过控制器对象了解模型对象的变化,反之亦然。控制器对象还可以为软件执行设置和协调任务,并管理其他对象的生命周期。

控制器对象对视图对象中进行的用户操作进行处理,并将新的或被更改过的数据传达给模型对象。模型对象发生变化时,控制器对象会将新的模型数据传达给视图对象,以便视图对象可以重新显示它。

对于不同的UIView,有相应的UIViewController,对应MVC中的C。例如在iOS上常用的UITableView,它所对应的Controller就是UITableViewController。

4.2 底层模块设计

4.2.1网络请求模块封装设计

本应用中的网络请求部分使用了AFNetWorking开源库,由于本应用的服务端接口处采用统一的返回格式,其中包括了登录失效的消息,因此对AFNetWorking进行了二次封装,使得本应用中所有的网络请求都使用封装过后的AFNW类,开发过程中根据功能模块的区分,为每个模块单独创建网络请求的工具类。在AFNW类中对于接口的返回值进行初步的解析,当解析到用户的登录失效信息时,将会要求用户进行重新登录操作,随后再通过工具类中传入的Block参数,将接口返回的数据传入Block并执行回调。

4.2.2 全局单例模式设计

在iOS中,类的单例模式设计使用Grand Central Dispatch(GCD)编程,其原理是通过声明返回值为单例类对象的类方法,在类方法中声明单例类的静态强变量,通过GCD对单例类的初始化进行控制,使得单例类只在第一次被使用时进行初始化并赋值于静态变量返回,由此即可实现类的单例模式。

游戏应用中设计了三个单例类,IWLocationManager类,IWUserInfo类和IWHeartbeatModel类。

IWLocationManager类是用于用户定位的单例类,由于地位功能贯穿于整个游戏的流程之中,因此将其设计为单例,能够供所有组件在任何时机获取到用户

所在的位置信息。

IWUserInfo类是用于存储用户信息的类,由于在应用中存在大量需要使用用户ID、设备UUID、背包信息等数据的地方,因此将这些信息存储于单例模式下的IWUserInfo类中。

IWHeartbeatModel类是用于游戏后台定期更新数据用的数据维护类,其中设置了多个NSTimer计时器,针对背包信息、用户周边工厂信息、聊天信息,IWHeartbeatModel类会定期调用服务端接口更新数据。同时,IWHeartbeatModel 类声明了Delegate协议,能够在数据更新完毕后,通过观察者模式,通知所有注册过的观察者对象。

4.3 注册登录模块设计

4.3.1 功能描述

注册登录模块负责新用户的注册,以及老用户的登录功能。游戏中的用户通过UUID无需密码自动登录,注册的用户需要先观看一段对故事背景的描述动画,然后需要选择阵营,并输入用户名,确认后即可完成注册。登录的用户需要获取用户的定位信息,背包信息,位置附近的工厂信息,获取完毕后才能进入地图界面。

4.3.2 逻辑设计

注册功能:

1、进入游戏后获取设备UUID

2、将UUID发送到服务端检验是否已登录

3、若已注册,则进入登录功能

4、若未注册,则开始播放背景描述动画

5、动画播放完毕后,显示用户阵营选择界面

6、用户选择阵营后,填写用户名

7、发送至服务端确认无误后,进入登录功能

登录功能:

1、根据UUID获取用户信息

2、根据userid获取用户背包信息

3、开启手机定位,获取位置信息

4、根据位置信息,获取附近工厂信息

5、若1~4中任意一组信息获取失败,则重复失败的操作,直到成功

6、信息获取完整后,进入地图定位界面

4.4.1 功能描述

地图定位使用百度地图,界面中需要显示用户当前的位置,以及周围工厂的标识信息,点击工厂后会出现新的气泡窗,显示工厂的名称、势力和与用户的距离。同时需要在聊天信息和工厂信息更新后,刷新地图上的标识和消息栏的内容。同时地图定位模块中包含了公频聊天功能,用户可以查看和发送公频消息。用户可以在界面中查看自己当前行动能量。

4.4.2 逻辑设计

进入界面后:

1.从IWUserInfo类中获取周边工厂的信息,并与地图上的标识核对,若有变动则修改

地图上的标识。

2.刷新公频聊天消息栏中的信息。

用户位置更新后:

1、更新地图上的显示位置

2、如果新的位置距离上一次获取周边工厂信息的位置超过限定范围,则调用接口获取

新位置附近的工厂信息

3、更新气泡窗中选中工厂与用户的距离

工厂信息更新后:

1、从IWUserInfo类中获取周边工厂的信息,并与地图上的标识核对,若有变动则修改

地图上的标识。

用户点击收起的消息栏:

1、将消息栏变为展开状态。

消息栏在展开状态下,用户点击地图:

1、将消息栏变为收起状态。

用户输入完毕点击发送:

1、调用发送公频消息接口,若成功则保存消息信息,并刷新消息栏内容

用户点击某个工厂的标识:

1、若已存在气泡窗,移除原来的气泡窗

2、显示这个工厂的气泡窗,并显示工厂信息和与用户距离

3、将地图中心设置为标识所在位置

用户点击气泡窗:

1、进入该工厂的工厂信息界面

用户点击地图:

1、若已存在气泡窗,则移除气泡窗

4.5.1 功能描述

能量工厂模块为用户提供查看能量工厂信息的功能,包括查看工厂照片、工厂所有者、工厂周围的防御装置、查看和发送工厂日志、搜索工厂的功能。用户通过点击地图定位中的气泡窗进入能量工厂信息界面。

4.5.2 逻辑设计

进入界面后:

1、从IWUserInfo类中获取本工厂的信息,并刷新界面上的显示信息

2、刷新工厂日志的显示内容

工厂信息更新后:

1、从IWUserInfo类中获取本工厂的信息,并与地图上的标识核对,若有变动则修改地

图上的标识。

日志信息更新后:

1、刷新工厂日志的显示内容

发送日志消息后:

1、刷新工厂日志的显示内容

点击搜索后:

1、调用搜索工厂接口,若成功则显示获得的道具,并将背包信息存入IWUserInfo类中

2、若失败则显示失败信息

4.6 攻击/加固模块设计

4.6.1 功能描述

攻击/加固模块为用户显示工厂周围装置的具体信息,同时显示用户背包中可以使用的道具,用户选择某个装置和某个道具后,可以点击使用来对装置进行攻击/加固的操作。

攻击装置界面只有与工厂敌对势力的用户可以进入,同势力的用户进入加固装置界面。攻击界面中只会显示用户拥有的攻击性武器和能量罐,加固界面中只会显示用户拥有的增强性武器和能量罐。

4.6.2 逻辑设计

进入界面:

1、如果工厂与用户同势力,则显示加固界面

2、如果工厂与用户敌对势力,则显示攻击界面

游戏地图制作

游戏地图的制作 是游戏中不可缺少的重要环节之一,像坦克大战,俄罗斯方块,等等。要产生游戏地图,除了可以直接使用已经绘制好的位图外,对于一些不太复杂,具有重复性质的地图或场景,有一个好办法。就是利用地图拼接的方法,将一小块一小块的小地图组合成较大的地图。 地图拼接的优点在于节省系统资源,因为一张大型的地图会占用比较多的内存空间,且加载速度较慢,如果游戏中使用位数较多的大型地图,势必降低程序运行的性能,而且需要相当客观的内存空间。 一.平面地图贴图 首先从最基本的平面贴图开始讲起,这种很直观,即利用一张张四边形的小图块组成同样是四边形的大地图,如下图是由三种不同的图块组合而成的平面地图。 事实上这张由4*4张小图块组成,程序中使用事先以数组来定义那个位置上要出现哪一张图块,现在假设图中3种不同图块的编号分别为0,1,2,那么可以以下面的二维数组来定义上图。Int mapblock[4][4]={{0,0,1,2},{0,1,1,1},{1,1,1,1},{1,1,1,1}}。 而本实例是以一维数组表示的,所以需要将数组的索引值转换成相应的列编号与行编号,转换公式如下: 列编号=索引值/ 每一列的图块个数(行数); 行编号=索引值%每一列的图块个数(行数); 行编号,列编号都是从0开始的,一旦算出了行编号,列编号之后便可以按照图块的宽和高求出图块贴图的位置,下面是计算图块左上点贴图坐标的公式。 左上点X坐标=行编号* 图块的宽度; 左上点Y坐标=列编号* 图块的高度; 注意:也可以应用二维数组,会很方便,但是应定要注意一维和二维分别代表什么,别弄反了,见例子“消灭小星星” 二.斜角地图贴图 斜角地图贴图其实是平面的一种变化,它是将原来的四边形图案变成45度角的菱形图案,并有他们拼接完成,就是一张从45度角俯视的斜角地图了。 本例依然采用一维数组,其实原理是一样的。只是贴图坐标的位置计算会有所不同而已,下面就说明菱形图块和矩形图块在贴图时的差异如图所示,其中数字是图块的编号。

系统详细设计说明书

文档标题 文档编号BH-CSD-003 版本V1.0 密级商密 A 研发生产中心项目名称全科医生专家咨询系统 项目来源 系统详细设计说明书 (V1.0 ) 南京毗邻智慧医疗科技有限公司 二○一三年十一月

文档变更记录 序号变更( +/- )说明作者版本号日期批准1 创建Steve.ma V1.0 2013.11.15 1 引言.......................................................................... (3) 1.1 编写目 的 ......................................................................... (3) 1.2 背 景 .......................................................................... (3) 1.3 定 义 .......................................................................... (3) 1.4 参考资 料 ......................................................................... (4) 2 平台安全体系与程序系统的结构........................................................................................ (4) 2.1 平台安全体 系 ........................................................................ (4) 2.2 程序系统结 构 ........................................................................ (5) 3 程序设计说 明 ........................................................................... (5) 3.1 程序描 述 ......................................................................... (5) 功能及其接 口 ........................................................................

连连看游戏--详细设计说明书

基于FLEX开发的连连看游戏详细设计说明书 [V1.1.0] 学院名称:湖南软件职业学院 专业名称:软件技术专业 组员:虢威、孙庆龙、段志辉、罗奇 指导老师:危孟君

1引言 (3) 1.1编写目的 (3) 1.2背景 (3) 1.3定义 (3) 1.4参考资料 (3) 2程序系统的结构 (3) 3程序(标识符)设计说明 (4) 3.1程序描述 (4) 3.2功能 (4) 3.3性能 (5) 3.3.1精度 (5) 3.3.2时间特性要求 (5) 3.3.3灵活性 (5) 3.4算法 (5) 3.4.1地图的生成 (5) 3.4.1寻路算法 (7) 3.5流程逻辑 (12) 3.6接口 (13) 3.7注释设计 (14) 3.9限制条件 (14) 3.10尚未解决的问题 (14)

详细设计说明书 1引言 1.1编写目的 详细设计说明书对连连看游戏的总体设计和各个模块的功能、性能、输入输出、算法、接口、程序逻辑、存储分配及其它给出了详细的设计方案,为软件开发制定详细的计划,同时也提交系统分析员,由其提出意见。这是程序员开发及未来测试烦人重要文档资料。 1.2背景 a.开发软件名称:基于FLEX开发的连连看 b.项目开发小组成员:虢威、孙庆龙、段志辉、罗奇 c.用户:所有喜欢玩这个游戏的玩家 d.项目开发环境:Windows XP + Flash Builder4 + ActionScript 3.0。 1.3定义 连连看项目详细设计方案。 1.4参考资料 (1)《软件工程案列开发与实践》,刘竹林等,清华大学出版社 (2)《IT项目管理》,曾鸿、毛志雄等,中国铁道出版社 (3)《ActionScript 3.0编程精髓》,Colinn Moock(美),机械工业出版社 (4)《Flex 3 Cookbook》,(美)诺布尔(美)安德森,电子工业出版社 2程序系统的结构 本次所设计连连看游戏的程序主结构如图2-1所示。

对游戏地图设计的分析

对游戏地图设计的分析 一、使用游戏人物介绍: 1.《魔兽世界》: ●回音山,暗夜精灵盗贼,60,三石妹儿,收费前满级、千 金马获取。全服第一把黑龙剑——放血者维斯卡格。全服 第一黑铁矿工,6天收获1800+黑铁矿、20+山脉之血。 ●金色平原,兽人战士,60,朱利叶斯西泽,以RP为本,坚 持游戏。 ●回音山,人类盗贼,70,三妹,服务器早期获得三锻锤, 2.《天堂2》: ●官服,深渊行者,40+;私服,各种族职业,满级,地图全 体验。 3.《武林外传》: ●官服,戟神,旖旎小杜,71,和同学合练,对游戏刷怪片 区,任务设置有相当了解。 4.《征途》: ●官服,法师,110+,和同学合练,为打钱而体验,对游戏 相关内容熟悉。 5.《天下二》,旧与新两版: ●官服,荒火、云麓,20+,为工作而体验,对地图、系统等 熟悉。 6.《新天翼之链》: ●官服,小红帽,富有的而立,70+,对游戏特色章节任务、 关卡了解很深。

7.公司的游戏: ●《机战》,福建三区,近战机体,三石而立,140+,对片区 任务相关设计熟悉。 ●《魔域》,福建三区,法师,跳跳跳,80+,对片区刷怪机 制熟悉。 二、地图设计相关要素定义: 1.构架: ●背景:该地图的历史背景及相关事件,关系到整张地图的 平面轮廓、地貌、特色建筑区域、补给点、道路和任务链 的设定。当然,也可以在设计好的地图基础上,补写故事 背景,所以这一点不是必须,只看游戏的侧重点及做法。 ●轮廓:该地图的平面轮廓形状。关系到地图的地貌,即河 流、山脉的走向,湖泊、山丘的分布,从而关系到道路等 一系列要素的设定。在无缝结合地图中影响到诸多地图的 相互拼接,在分张地图上则影响不大。 ●地貌:高山、河流、湖泊、沙滩等地理环境的布置,影响 到道路的设计、怪物的种类及分布区域、补给点位置及任 务设计。 ●物件:树、草、顽石、建筑物、破烂物(破船)、尸骨遗物 等物件的摆放,影响到地图的感观及任务的相关设计。 ●补给点:玩家休整地点,包括城市、村镇、NPC聚集点等 这些商业及任务的集合地,关系到玩家练级、任务的爽快

网上购物系统——详细设计说明书

网上购物系统 详细设计说明书 1引言 1.1编写目的 电子商务是于九十年代初,在欧美兴起的一种全新的商业交易模式,它实现了交易的无纸化,效率化,自动化表现了网络最具魅力的地方,快速的交换信息,地理界限的模糊,这所有的一切也必将推动传统商业行为在网路时代的变革。随着电子商务,尤其是网上购物的发展,商品流通基础设施和配套行业的重点将会将对中国商品流通领域和整个经济发展带来种种影响,确实值得我们认真研究。特别是在全球经济一体化的国际背景下,在我们继续扩大国内流通领域对外开放的同时,深入研究这个问题,审慎制订相应的宏观对策,尤其重要和迫切。网上购物是一种具有交互功能的商业信息系统。它向用户提供静态和动态两类信息资源。所谓静态信息是指那些比经常变动或更新的资源,如公司简介、管理规范和公司制度等等;动态信息是指随时变化的信息,如商品报价,会议安排和培训信息等。网上购物系统具有强大的交互功能,可使商家和用户方便的传递信息,完成电子贸易或EDI交易。这种全新的交易方式实现了公司间文档与资金的无纸化交换。 1.2.项目背景 软件名称:网上购物系统 开发者:宋金德,袁浩,王朝阳,许威 项目简介:本系统主要实现网上产品展示与在线定购及人员的管理, 一、不同身份有不同的权限功能(管理人员、注册用户、游客) 二、在线产品展示(分页显示) 三、在线定购 四、后台管理(用户管理、商品的管理) 1.3定义 Asp(active server pages)是微软公司推出的一种用以取代CGI的技术,基于目前绝大多数网站应用于windows平台,asp是一个位于windows服务器端的脚本运行环境,通过这种环境,用户可以创建和运行动态的交互式的web服务器应用程序以及EDI(电子数据交换)。 ADO:ActiveX Data Object, ActiveX 数据对象 SQL:Structured Query Language 1.4参考资料 [1] 谭浩强《动态网页制作ASP》北京电子工业出版社. 2001 [2] 彭万波《网页设计精彩实例》北京电子工业出版社.2002

基于地图定位的场景交互游戏设计说明书

设计说明书 Invisible War 基于地图定位的场景交互游戏(iOS)

目录 第1章 数据库设计 (4) 1.1 数据库总体设计 (4) 1.2 数据库结构设计 (4) 第2章 接口设计 (9) 2.1 接口数据交换格式 (9) 2.2 基于HTTP的网络请求 (9) 2.3 相关接口设计 (9) 2.3.1注册接口 (9) 2.3.1登录陆口 (10) 2.3.3获取塔信息接口 (11) 2.3.4使用步数换取能量接口 (13) 2.3.5获取日志信息接口 (13) 第3章 服务开发运行环境 (15) 3.1 接口运行环境 (15) 3.2 接口发布环境 (15) 第4章 系统设计 (16) 4.1 系统的总体设计 (16) 4.1.1 模型(Model) (16) 4.1.2 视图(View) (16) 4.1.3 控制器(Controller) (17) 4.2 底层模块设计 (17) 4.2.1网络请求模块封装设计 (17) 4.2.2 全局单例模式设计 (17) 4.3 注册登录模块设计 (18) 4.3.1 功能描述 (18) 4.3.2 逻辑设计 (18) 4.4 地图定位模块设计 (19) 4.4.1 功能描述 (19) 4.4.2 逻辑设计 (19) 4.5 能量工厂模块设计 (20) 4.5.1 功能描述 (20) 4.5.2 逻辑设计 (20) 4.6 攻击/加固模块设计 (20) 4.6.1 功能描述 (20) 4.6.2 逻辑设计 (20) 4.7 放置模块设计 (21) 4.7.1 功能描述 (21) 4.7.2 逻辑设计 (21) 4.8 背包模块设计 (22) 4.8.1 功能描述 (22) 4.8.2 逻辑设计 (22) 4.9 个人模块设计 (22)

系统软件详细设计说明书

系统软件详细设计说明书 1.引言 1.1编写目的 本详细设计说明书是针对网络信息体系结构的课程作业而编写。目的是对该项目进行详 细设计,在概要设计的基础上进一步明确系统结构,详细地介绍系统的各个模块,为进行后面的实现和测试作准备。本详细设计说明书的预期读者为本项目小组的成员以及对该系统感兴趣,在以后想对系统进行扩展和维护的人员。 2.系统的结构 ui :系统界面部分,负责接受用户输入,显示系统输出,负责其他模块功能的协调调用,并含有站内搜索功能,即在用户指定的已打开的ftp站点中搜索用户需要的资源。ui 部分调用common部分的功能读取xml文件中保存的界面元素属性信息,用户最近访问过的10个ftp信息,用户选择的下载的ftp内容列表及其他需要通过xml文件保存的信息。 client :实现ftp客户端的功能,ftp连接,ftp上传及下载:上传或下载用户指定的

资源,并返回相应的信息。 search: 资源实时检索部分,根据用户输入的资源名称关键字,资源类型和选择的检索方式检索用户需要的资源,并验证资源的可用性,返回可用资源及其大小,速度等相关信息。 preview :资源预览部分,显示用户选择的资源的部分内容,以使用户决定是否需要该资源。 preview部分调用comm on部分读取属性文件的内容亦显示预览资源内容的显示格式。 3.模块1(ui )设计说明 3.1 模块描述实现用户界面的包,含有11个文件51 个类,是本系统中最复杂的代码。 3.2 功能负责接受用户输入,显示系统输出,其他模块功能的协调调用,并含有站内搜索功能,即在用户指定的已打开的ftp 站点中搜索用户需要的资源。 3.3 交互的模块 client ,search ,preview ,common。 3.4 模块设计该模块中的主要文件,文件中包含的主要类及其功能和与其它包的交互如下: MainFrame.java :MainFrame 是含有主函数的类,也是lyra 客户端开始执行的类,它先后进行资源的初始化,显示主界面等工作,根据屏幕大小设置界面大小,设置界面的观感。 FtpFrame_AboutBox.java: 显示关于窗口的类,当用户点击帮助菜单中的关于菜单项时会 弹出关于对话框。 Tools.java :FileTools 是文件操作辅助类,可以实现文件的递归删除等。 XMLController.java: JDOMTes是操作xml文件的类,用JDOM来操作xml文件, 实现的功能有: (1)保存ftp 服务器的文件列表(站内搜索时使用),递归的从ftp 服务器读取列表,并存入一个xml文件中(文件的命名方法是:ip+用户名.xml);以目录树的形式保存。 (2)根据文件名在文件中查找文件,站内搜索时使用。 (3)保存ftp 服务器的信息:ip ,端口(默认端口21 不保存),用户名(默认anonymous 不保存),密码,最多存10 个;存在resource\settings\ serversinfor.xml 文件中。 (4)读取已存储的ftp 服务器信息。 (5)从type.xml 读取搜索的类型。 Constants.java: 放置系统运行时使用的一些常量,initcontent ()函数对所有常量进行初始化,这个函数在MainFrame 中被调用一次。iconHashMap 是hash 表,用于存放文件的系统图标。 CustomizedController.java :包含自定义的控件类,java 中的控件可能不能满足需求,需要自己定义某些属性。这些控件会在创建界面时使用。其中含有的类有: (1)CustomizedJTable 是表格类,设置表格的某些属性,如字体等。 (2)CustomizedTableCellRenderer 是表格单元格绘制器类,主要用于显示文件的系统图标,和文件名。 (3)LeftPanel类的父类是JTabbedPane,用户显示主窗口左边的面板。 (4)RightPanel 类的父类是JPanel ,用户显示右边的主题部分,包括右上边的搜索及服务 器选项,和中间的显示服务器文件的TabbedPane。. (5)BottomPanel 类是右下放显示下载和服务器信息的JTabbedPane。 (6)CustomizedJButton 是定义按钮类,更改了按钮的字体,java 本身默认的字体不好看。 (7)CustomizedTableModel 是表格类,实现单元格的不可编辑。 (8 )CustomizedTableCellRenderer_Remote 类是表格绘制器,在远程文件浏览 器RemoteFilesPanel 使用,用于显示文件名和文件图标。

游戏设计说明书-认识数字

软件设计说明书 基于Cocos2D-X的儿童教育类游戏——认识数字的设计与实现 深圳童心教育科技有限公司

20 16 年11 月

摘要 本次软件设计为一个基于Cocos2D-X的儿童教育游戏,通过玩这个游戏,教小孩子认识数字,学习数字之间的大小关系,通过找缺失数字,学习数字的同时培养观察力。本次设计的语言为C#,选择因为C#这一门语言是因为C#操作简单不复杂,无内存。对于游戏中的道具存储方式为列表,一个个存储之后再读取,涉及的截图存储以及查看功能是用一个文件流存储在设备的内存中,游戏的动画是用flash制作完成之后,转为swf解析json,然后在程序中调用动画。本次的设计模式主要为外观模式,设计好接口统一调用。 关键词:Cocos2D-X,跨平台,C#,json,列表,设计模式

ABSTRACT The software design for a Cocos2D-X based on the education of children through the game, play the game, teach children to recognize the numbers, size relations between digital learning, through to find the missing number, at the same time learning digital observation. The design of the language for the C#, because the choice of the C# language because C# is simple and not complicated, no memory. For storage in the game props for the list, after a storage and read, to store and view screenshot function is a file stream stored in the device memory, game animation is produced with flash, swf to parse JSON, then call in the program of animation. The main design patterns for the appearance of the model, the design of a unified interface call. Keywords:Cocos2D-X, cross platform, C#, JSON, list, design pattern.

软件系统详细设计说明书模板

xxxxx系统详细设计说明书

版本历史

修改记录

目录 1引言 (5) 1.1编写目的 (5) 1.2背景 (5) 1.3参考资料 (5) 1.4术语定义及说明 (5) 2设计概述 (5) 2.1任务和目标 (5) 2.1.1需求概述 (5) 2.1.2运行环境概述 (5) 2.1.3条件与限制 (6) 2.1.4详细设计方法和工具 (6) 3系统详细需求分析 (6) 3.1详细需求分析 (6) 3.2详细系统运行环境及限制条件分析接口需求分析 (6) 4总体方案确认 (6) 4.1系统总体结构确认 (6) 4.2系统详细界面划分 (7) 4.2.1应用系统与支撑系统的详细界面划分 (7) 4.2.2系统内部详细界面划分 (7) 5系统详细设计 (7) 5.1系统程序代码架构设计 (7) 5.1.1UI(User Interface)用户界面表示层 (7) 5.1.2BLL(Business Logic Layer)业务逻辑层 (8) 5.1.3DAL(Data Access Layer)数据访问层 (8) 5.1.4Common类库 (8) 5.1.5Entity Class实体类 (8) 5.2系统结构设计及子系统划分 (8) 5.3系统功能模块详细设计 (9) 5.3.1XX子系统 (9) .1XX模块 (9) 列表和分页 (9) 创建XX (9) .2XX模块 (9) XX列表 (9) XX修改 (9) 5.3.2XX子系统 (9) 5.3.6.1用户管理模块 (9) 5.3.6.2角色管理模块 (14) 5.3.6.3系统设置模块 (14) 5.3.6.4系统登录注销模块 (14) 5.4系统界面详细设计 (14) 5.4.1外部界面设计 (14) 5.4.2内部界面设计 (14) 5.4.3用户界面设计 (14) 6数据库系统设计 (14) 6.1设计要求 (14) 6.2信息模型设计 (14) 6.3数据库设计 (14) 6.3.1设计依据 (14)

贪吃蛇游戏详细设计说明书

详细设计说明书 1 引言 1.1 编写目的 本说明书在概要设计的基础上,对贪吃蛇游戏的各模块、程序、子系统分别进行了实现层面上的要求和说明。软件开发小组的产品实现人员阅读和参考本说明进行代码的编写和测试。 本说明书预期的读者是软件开发小组的产品实现人员。 1.2 背景 说明: 系统名称:贪吃蛇游戏 任务提出者:手机策划人员 开发者:软件开发小组的产品实现人员 用户:NOKIA手机用户 运行该程序系统的计算中心:NOKIA手机芯片 1.3 定义 1.节: 一条蛇可以看成由许多正方形的“小格子”拼凑成,称作节。节是蛇身上最小的单位。 2.链表: 用来保存每一段的状态,链表的元素单位是节。且链表的第一个元素表示蛇的头部。 3.坐标系: 以左上角那点为(0,0),向右则x递增,向下则y递增。 1.4 参考资料 张海藩:《软件工程导论》第五版清华大学出版社 肖刚等:《实用软件文档写作》清华大学出版社

2 程序系统的组织结构 2.1每个模块和子程序的名称、标识符: 1Ground类: 1)private int TYPE; 2)public int[][] rocks=new int[Global.WIDTH][Global.HEIGHT]; 3)public void setGround(int type){} 根据不同的Type值将rocks的不同下标的元素设为1,其他元素为0。 4)public boolean isSnakeEatRock(Snake snake){} 判断蛇头的所在的位置在数组rocks中的值是否为1,如果是1,则表示蛇吃 到了石头,返回TRUE,否则返回FALSE。 5)public Point getPoint(){} 产生一组随机数(x,y),是食物的坐标 6)public void drawMe(Graphics g){} 将数组rocks中值为1的元素填充为石头颜色。 2Snake类: 1)public static int x,y; 2)private int oldDirection,newDirection; 用于判断newDirection和oldDirection是否为相反方向,用于选取有效方向。 3)private Point oldTail; 用于判断蛇头是否和蛇身的某个节点的坐标重合,即蛇是否吃到自己。 4)public LinkedList body=new LinkedList(); 5)public void die(){} 设置变量life=FALSE;使控制进程的条件为假,进程结束。 6)public void move(){} 实现蛇身沿着蛇头的轨迹移动 7)public void changeDirection(int direction){} 根据方向键,改变蛇头的x、y的值,即改变方向 8)public void drawMe(Graphics g){}//把属于蛇的格子画出来 9)private class SnakeDriver implements Runnable{}//蛇不停走动 3Food类: 1)public void drawMe(Graphics g){} 根据产生的一组随机坐标,在其坐标处画出食物 4Controller类: 功能:处理按键事件及鼠标点击事件,处理逻辑。根据不同的情况向Snake,Food,Ground发出不同的命令。 实现接口snakeMoved,蛇每移动一步,就要判断一次,蛇是否吃到石头、是否吃到自己,是的话就snake.die()并停止计时;不是则不进行任何操作。如果吃到食物,就要加分、重画食物、蛇身加长。 实现(N)NewGame功能、(E)Exit功能、(R)Resume功能、(L)LowLevel功能、(H)HighLevel功能、(P)Pause功能。 5GamePanel类: 功能:画出Snake,Food,Ground,并实现重新显示

怎么制作游戏地图

怎么制作游戏地图 Prepared on 24 November 2020

怎么制作游戏地图 在中的作用非常之大,一个好的地图编辑器决定着一款游戏的好坏。目前世面上大部分的电脑游戏的地图都是如下格式,每个坐标代表人物在游戏中的坐标。游戏地图的制作是游戏美工的重要工作,下面我们来看一下游戏地图的制作。 在地图编辑器中,地图也是由很多很多的小图素拼接而成的。由于一张大的地图会出现很多重复的图素,那么我们就将这些图素提出来,称为基本图素。基本图素的好处是,可以重复使用。这样我们就可以用比较少的图片种类反复拼接成一张大图。这样做的好处是1,减少图片数量和磁盘容量;2,减少显卡和内存的负担;3加快游戏速度;4,更合理的利用资源。当然这么做的缺点也是有的1,反复利用同样的图素,画面将不好看;2,需要专业人员的大量拼接。按照上面所说的,一张完美的地图的制作需要用到1,切割工具;2,拼图工具;3编辑器;4转换工具(3种工具之间格式的转换)。 首先我们要从原画手里拿到我们需要的原图,再使用切割工具进行我们需要的切割,原图的要求是必须是64*64,128*128,256*256的倍数,我们可以,在图片规格那里

可以选择我们要切的格式,然后加载所需要切割的图片,输出的ANI那里填好游戏目录里的路径。TITLE编号是由于会有很多文件的ani要写在一个ani里,所以为防止重复写入,则打开需要写入的ani文件,查看最后的编号,用此编号加1作为title开始编号。如果是第一次切割则为0。图片的文件名,需要填写完整路径,此路径为游戏中的路径,遮罩文件的文件夹名称一般为Mapobj这个文件夹里放置着植物、场景地形等其它静态物件。动态遮罩文件的文件夹名称为Cartoon一般来说,由多桢的静态图片连续播放,形成动态的图片都放在这里;地图基本图素放置的文件夹名称为puzzle。这些文件夹一般放在主目录的DATA\map目录下,文件夹里的子文件夹的名称按照分类命名。Pullze文件名是切割后的图片索引文件的目录,我们可以使用中文,这样在后面的拼图中会很方便。图片编号和位数是在文件夹里图片自动命名的数字规格。 使用注意事项:在使用中1,确定每次切割的图片规格都是一样的;2,在切割之前千万要再看一遍ANI里所写的编号是否正确;3新生成的ani还需经过进行格式转换,这样可以提高地图编辑器在启动的过程中对ani的索引速度,实际上,有时候在地图编辑器中打开没有转换的ani也会出错!4,文件夹和图片的命名一定要一目了然,摆放规

系统详细设计说明书

XXXXXX XXXXXXXXXXXXX 项目名称 详细设计说明书 XXX公司 二〇XX年X月

文档修改记录

目录 第一章引言............................................. 错误!未定义书签。 目的............................................. 错误!未定义书签。 背景............................................. 错误!未定义书签。 术语定义......................................... 错误!未定义书签。 参考资料......................................... 错误!未定义书签。第二章系统概述......................................... 错误!未定义书签。第三章程序1设计说明................................... 错误!未定义书签。 程序描述......................................... 错误!未定义书签。 模块架构图 ................................... 错误!未定义书签。 功能 ......................................... 错误!未定义书签。 类图 ......................................... 错误!未定义书签。 增加功能(功能点) ........................... 错误!未定义书签。 程序流程 ..................................... 错误!未定义书签。 测试和限制条件 ............................... 错误!未定义书签。 备注 ......................................... 错误!未定义书签。第四章程序2设计说明................................... 错误!未定义书签。第五章公用接口程序说明................................. 错误!未定义书签。 全局变量......................................... 错误!未定义书签。 公用界面或接口................................... 错误!未定义书签。 公用方法和过程................................... 错误!未定义书签。第六章附件............................................. 错误!未定义书签。详细设计评审意见.......................................... 错误!未定义书签。

单机游戏概要设计分析说明书

目录 1、引言 (2) 编写目的 (2) 背景 (2) 1.3定义 (3) 参考资料 (3) … 2总体设计 (3) 需求规定 (3) 系统功能 (3) 系统性能 (3) 输入输出要求 (4) 故障处理要求 (4) 其他专门要求 (4) 运行环境 (4) … 基本设计概念和处理流程 (4) 结构 (7) 功能需求与程序的关系 (8) 人工处理过程 (9) 尚未解决的问题 (9) 3 接口设计 (9) 用户接口 (9) 外部接口 (13) ! 内部接口 (14) 4运行设计 (14) 4.1运行模块组合 (14) 4.2运行控制 (14) 4.3运行时间 (14) 5系统出错处理设计 (14) 出错信息 (14) 补救措施 (15) ? 系统维护设计 (15)

' 1、引言 编写目的 (说明编写这份概要设计说明书的目的,指出预期的读者。) 本概要设计说明书目的在于明确说明“华师大之旅”游戏各功能的实现方式,指导团队进行编码,并解决实现该系统的程序模块设计问题。包括如何把该系统划分成若干个功能模块、决定各个功能模块之间的接口、模块之间传递的信息,以及数据结构、模块结构的设计等。在以下的概要设计报告中将对在本阶段中对系统所做的所有概要设计进行详细的说明。 本说明书的预期读者为:游戏开发人员 ; 背景 ( 说明: a.待开发软件系统的名称; b.列出此项目的任务提出者、开发者、用户以及将运行该软件的计算站(中心)。 ) 软件的系统名称: ( 本项目的提出者: 本项目的任务开发者: 本项目的用户: 游戏软件由7个场景组成,均是结合大学生活设计:

1.3定义 (列出本文件中用到的专门术语的定义和外文首字母组词的原词组。) 开发工具:Visual Studio 2005 ] 开发语言:C# 开发框架: 系统运行环境:Windows server 2003、Windows XP SP2、IIS6、.NetFramework 系统、游戏:若未特别指出,统指“华师大之旅”单机游戏。 (根据后面写的情况写添加) 参考资料 (列出有关的参考文件,如: a.本项目的经核准的计划任务书或合同,上级机关的批文; b.属于本项目的其他已发表文件; ' c.本文件中各处引用的文件、资料,包括所要用到的软件开发标准。列出这些文件的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。) 无 (结构及流程)

怎么制作游戏地图

怎么制作游戏地图 定着一款游戏的好坏。目前世面上大部分的电脑游戏的地图都是如下格式,每个坐标代表人物在游戏中的坐标。游戏地图的制作是游戏美工的重要工作,下面我们来看一下游戏地图的制作。 在地图编辑器中,地图也是由很多很多的小图素拼接而成的。由于一张大的地图会出现很多重复的图素,那么我们就将这些图素提出来,称为基本图素。基本图素的好处是,可以重复使用。这样我们就可以用比较少的图片种类反复拼接成一张大图。这样做的好处是1,减少图片数量和磁盘容量;2,减少显卡和内存的负担;3加快游戏速度;4,更合理的利用资源。当然这么做的缺点也是有的1,反复利用同样的图素,画面将不好看;2,需要专业人员的大量拼接。按照上面所说的,一张完美的地图的制作需要用到1,切割工具;2,拼图工具;3编辑器;4转换工具(3种工具之间格式的转换)。 首先我们要从原画手里拿到我们需要的原图,再使用切割工具进行我们需要的切割,原图的要求是必须是64*64,128*128,256*256的倍数,我们可以,在图片规格那里可以选择我们要切的格式,然后加载所需要切割的图片,输出的ANI那里填好游戏目录里的路径。TITLE编号是由于会有很多文件的ani要写在一个ani里,所以为防止重复写入,则打开需要写入的ani文件,查看最后的编号,用此编

号加1作为title开始编号。如果是第一次切割则为0。图片的文件名,需要填写完整路径,此路径为游戏中的路径,遮罩文件的文件夹名称一般为Mapobj这个文件夹里放置着植物、场景地形等其它静态物件。动态遮罩文件的文件夹名称为Cartoon一般来说,由多桢的静态图片连续播放,形成动态的图片都放在这里;地图基本图素放置的文件夹名称为puzzle。这些文件夹一般放在主目录的DATA\map目录下,文件夹里的子文件夹的名称按照分类命名。Pullze文件名是切割后的图片索引文件的目录,我们可以使用中文,这样在后面的拼图中会很方便。图片编号和位数是在文件夹里图片自动命名的数字规格。 使用注意事项:在使用中1,确定每次切割的图片规格都是一样的;2,在切割之前千万要再看一遍ANI里所写的编号是否正确;3新生成的a 首先我们要把刚才所切割出来的PUZZLE文件按照我们的需要拼成模块,再用这些模块和原图素拼接成一张大的地图。 “选择—拾取”模式 另一个则为“编辑—填充”模式。快捷键Alt+Tab,可以在两者之间快速切换提高工作效率。2,我们按照示意图根据大小需要在“编辑—填充”—拾取”—填充”

网上购物系统详细设计说明书

五、详细设计说明书 1.引言 (222) 1.1编写目的 (222) 1.2项目背景 (222) 1.3定义 (333) 1.4参考资料 (333) 2.总体设计 (444) 2.1需求概述 (444) 2.2软件结构错误!未定义书签。错误!未定义书签。错误!未定义书签。 3.程序描述 (444) 3.1功能 (444) 3.2性能 (777) 3.3输入项目 (888) 3.4输出项目 (888) 3.5算法 (888) 3.6程序逻辑 (888) 3.7接口 (999) 3.8存储分配错误!未定义书签。错误!未定义书签。错误!未定义书签。

3.9限制条件错误!未定义书签。错误!未定义书签。错误!未定义书签。 3.10测试要点 (131313) 1.引言 1.1目的 为了对本网上购物系统的可行性进行一下探讨,论证实现本项目的可能性,和一些前期的准备工作及工作条件,并且为工程的下一步设计打下铺垫。电子商务是于九十年代初,在欧美兴起的一种全新的商业交易模式,它实现了交易的无纸化,效率化,自动化表现了网络最具魅力的地方,快速的交换信息,地理界限的模糊,这所有的一切也必将推动传统商业行为在网路时代的变革。随着电子商务,尤其是网上购物的发展,商品流通基础设施和配套行业的重点将会将对中国商品流通领域和整个经济发展带来种种影响,确实值得我们认真研究。网上购物是一种具有交互功能的商业信息系统。它向用户提供静态和动态两类信息资源。所谓静态信息是指那些比经常变动或更新的资源,如公司简介、管理规范和公司制度等等;动态信息是指随时变化的信息,如商品报价,会议安排和培训信息等。网上购物系统具有强大的交互功能,可使商家和用户方便的传递信息,完成电子贸易或EDI 交易。这种全新的交易方式实现了公司间文档

坦克大战详细设计说明书

目录 1绪论 (1) 1.1开发背景………………………………………………………………………1.2开发思路………………………………………………………………………1.3开发工具……………………………………………………………………… 2程序设计…………………………………………………………………………… 2.1主要设计思路…………………………………………………………………… 2.2思路设计实现……………………………………………………………………3程序简介……………………………………………………………………… 3.1程序一些类的介绍…………………………………………………………… 4程序运行与测试…………………………………………………………………… 4.1程序开始……………………………………………………………………… 4.2程序界面……………………………………………………………………… 4.3系统启动测试……………………………………………………………… 4.4子弹发射测试……………………………………………………………… 4.5玩家移动测试……………………………………………………………… 4.6信息发送测试……………………………………………………………… 5程序有关代码……………………………………………………………………… 5.1……………………………………………………………………… 5.2……………………………………………………………………… 5.3……………………………………………………………………… 6……………………………………………………………………… 6.1……………………………………………………………………… 参考文献………………………………………………………………………

超市管理系统详细设计说明书讲解学习

超市管理系统详细设 计说明书

超市管理系统详细设计说明书 1引言 1.1编写目的 为了提高物资管理的水平和工作效率,尽可能杜绝商品流通中各环节中可能出现的资金流失不明现象,商品进销存领域迫切需要引入信息系统来加以管理。从该阶段开发正式进入软件的实际开发阶段,本阶段完成系统的大致设计并明确系统的数据结构与软件结构。在软件设计阶段主要是把一个软件需求转化为软件表示的过程,这种表示只是描绘出软件的总的概貌。本概要设计说明书的目的就是进一步细化软件设计阶段得出的软件总体概貌,把它加工成在程序细节上非常接近于源程序的软件表示。 预期读者为超市管理系统的开发人员,程序员。 1.2背景 项目名称:超市管理系统。 提出者:XXX。 开发者:郭琦,梁颖嘉,刘浩然,李小龙。 用户:中小型超市 1.3定义 XXXX(列出本文件中用到的专门术语的定义和外文首字母组词的原词组。)

1.4参考资料 软件设计文档国家标准操作手册(GB8567——88)。 2程序系统的结构 见《超市管理系统概要设计说明书》相关部分。 3售货管理子系统设计说明 3.1 程序描述 超市管理系统下的一个子系统,记录售货员今日处理的商品信息和会员的购买情况,处理销售过程中的商品信息并作记录。 3.2 功能 包括售货员登陆和会员登陆,以及售货员的售货处理、结账处理。3.3 性能 时间特殊性:系统的速度要在用户可接受的范围内。 可靠性:系统要有较高的可靠性,可恢复性。 灵活性:系统要有良好的接口。 3.4 输入项 售货员账号密码:售货员登陆 会员账号:会员登陆

条形码:验证商品信息 数量:计算金额 3.5 输出项 售货员信息:确保售货员符合资格会员信息:确保会员符合资格 金额:结账时的商品总额 3.6算法 start input售货员信息 examine 售货员信息 input 会员信息 examine 会员信息 if(结账) input i=0 do while (i<商品数量) input 条形码 if(条形码无效) i=i break end if print 商品信息 i=i+1

单机游戏概要设计说明书

目录 1、引言 (2) 1.1编写目的 (2) 1.2背景 (2) 1.3定义 (3) 1.4参考资料 (3) 2总体设计 (3) 2.1需求规定 (3) 2.1.1系统功能 (3) 2.1.2系统性能 (3) 2.1.3输入输出要求 (4) 2.1.4故障处理要求 (4) 2.1.5其他专门要求 (4) 2.2运行环境 (4) 2.3基本设计概念和处理流程 (4) 2.4结构 (7) 2.5功能需求与程序的关系 (8) 2.6人工处理过程 (9) 2.7尚未解决的问题 (9) 3 接口设计 (9) 3.1用户接口 (9) 3.2外部接口 (13) 3.3内部接口 (14) 4运行设计 (14) 4.1运行模块组合 (14) 4.2运行控制 (14) 4.3运行时间 (14) 5系统出错处理设计 (14) 5.1出错信息 (14) 5.2补救措施 (15) 5.3系统维护设计 (15)

1、引言 1.1编写目的 (说明编写这份概要设计说明书的目的,指出预期的读者。) 本概要设计说明书目的在于明确说明“华师大之旅”游戏各功能的实现方式,指导团队进行编码,并解决实现该系统的程序模块设计问题。包括如何把该系统划分成若干个功能模块、决定各个功能模块之间的接口、模块之间传递的信息,以及数据结构、模块结构的设计等。在以下的概要设计报告中将对在本阶段中对系统所做的所有概要设计进行详细的说明。 本说明书的预期读者为:游戏开发人员 1.2背景 ( 说明: a.待开发软件系统的名称; b.列出此项目的任务提出者、开发者、用户以及将运行该软件的计算站(中心)。 ) 软件的系统名称: 本项目的提出者: 本项目的任务开发者: 本项目的用户: 游戏软件由7个场景组成,均是结合大学生活设计:

相关文档
最新文档