赞
踩
1 概述
构思如下
前端用户交互系统,包括用户注册和登录,农场概况、土地操作。作物操作等。用户注册时要有相应的用户名、密码、提示问题、答案,登陆后可以修改用户部分相关信息。农场主要信息包括金币数、经验值、好友排行,涉及到相关数据库的存储。对土地的操作主要是耕地、开垦,增加经验同时减少金币。作物的种植、除草、浇水、施肥,对应着相关数据库数据更新。金币的主要来源应该是以卖果实增加的金币。 后端包括后台数据库管理、进程调度。对于金币、经验、土地数、成熟时间等都应有详细记录,主体以时间的记录推进,以金币数和经验值数作为判断标准,进行相应的进程调度。
1.1 需求规定
1.1.1 对功能的规定功能
输入
处理
输出
登录;找回忘记密码
在登录页面输入的用户名、密码;提示问题答案
信息验证,并判断是否弹出农场界面;
在登录页面提示登录结果;用户基本信息修改页面
浏览农场
单击农场按钮;对农场的拖动操作
弹出农场界面
弹出农场界面
购买商品
点击商店小图片进入商店界面;在商店页面选择的商品种类、输入的数量
用户金币值减少,用户包裹商品种类、数量增加
显示商品种类名称+商品数量,提示购买结果,显示用户金币减少
播种
在农场界面对土地进行的操作;种子种类名称+播种的土地编号
在界面中替换图片
在农场界面的土地上发生变化
作物生长
作物阶段生长时间+作物生长状态
在界面中替换图片;计算作物生长时间、生长状态
在农场界面的土地上发生变化
拖动、翻地、收获、(不能放虫、放杂草)
在农场界面对土地进行的操作;操作编号
在界面中替换图片
在农场界面的土地上发生变化
收获果实,放仓库
在农场界面对土地进行的操作
在界面中替换图片;将商品种类及其数量加在数据库中;用户经验的变化
在农场界面的土地上发生变化,仓库中果实的种类及其数量增加
卖果实
在仓库页面选择的商品种类、输入的数量
将商品种类及其数量在数据库中减去;用户金钱的增加
仓库中的商品种类及其数量减少
开垦土地
在农场界面对土地进行的操作
在界面中替换图片
在农场界面的土地上发生变化
查看包裹;包裹内物品的使用
单击包裹按钮;点击使用按钮
弹出包裹显示种类,数量列表
弹出包裹;对包裹内的物品进行操作
分页显示好友信息
点击好友面板可弹出好友列表界面
经验排行,金钱排行,查询好友功能
相应显示操作结果
1.1.2 系统功能层次模块图
1.1.2.1 子模块
用户土地操作:包括翻地、播种、收获等;增加经验值
2 系统功能设计
2.1 登录注册功能
本功能为登录注册功能,包括登录、注册。当个人忘记密码时,由其通过回答提示问题找回密码。
2.1.1 登录子功能
系统要求登录者提供帐号、密码,并进行身份确认及登录结果页面导向。如果登录者输入的账号和密码与数据库数据不一致,则提示该用户“您输入的账号或密码错误,请从新输入!”;登录成功后弹出用户农场界面。又或者该用户已经不记得密码,登录还设置一个找回密码的功能,用户可以修改自己的密码及部分基本信息,单击找回密码按钮则弹出用户早先在注册信息中设置的问题,如果用户输入的答案与注册信息中设置的答案不一致,则提示用户“您输入的答案错误,请从新输入!”;如果输入的答案正确,则弹出密码从新输入对话框,要求用户重新输入密码,并再次确认以及是否修改其他基本信息,用户提交后,经过验证将数据保存到数据库。
2.2 用户功能
农场界面会显示用户的游戏信息,如昵称、等级、金币等信息。同时农场会显示不同的图片按钮供用户进行操作,如点击商店图片进入商店购买物品、点击留言可以输入留言信息、点击仓库图片进入仓库查看作物等。
2.2.1 土地操作子功能
用户对自己土地的操作,主要包括拖动、翻地、播种收获、等。不能放虫、种杂草等等。如果进行翻地操作的土地上已经存在作物,这时对土地进行操作为有效操作,。当土地上没有作物时可以进行播种操作,当土地上存在作物时不可以进行播种操作。物已经成熟,可以进行收获、,当土地上的作物没有成熟,则不能进行收获。
2.2.2 买卖商品子功能
游戏中包含商店系统,用户可以从商店中用金币购买物品,也可以把自己仓库(仓库是用来存取用户作物收成的地方)中收获或偷取的果实、蔬菜等物品卖到商店获得金币。用户通过单击商店按钮进入商店界面,在商店中用户可以看到系统所提供的所有商品,其商品信息主要包括:商品名称、购买单价、限制购买等级等等;如果用户单击仓库按钮,则进入仓库界面,在仓库界面中,用户可以看到已经收获的或偷取好友的果实各自的种类、名称、数量、卖出单价及其所有果实的卖出收入。
记录日志也是系统的功能,用户对好友的土地操作会由系统记录下来,并显示到用户的日志信息中。日志记录的主要内容应该包括:用户对土地的操作、用户的买卖行为以及好友对土地的操作等等。主要日志字段包含操作人、操作时间以及操作内容等。
3 数据字典设计
数据字典的主要目的是提供查阅对不了解的条目的解释。在数据字典中记录数据元素的下列信息:一般信息(名字,别名,描述等),定义(数据类型,长度,结构等),使用特点(值的范围,使用频率,使用方式—输入/输出/本地,条件值等),控制信息(来源,用户,使用它的程序,改变权等),分组信息(父结构,从属结构,物理位置—记录、文件和数据库等)。
下面的例子是通过卡片来描述数据字典:
4 数据库设计
4.1 表设计
4.1.1 TableName(表名的解释)
userBasic 用户基本信息表
字段名
数据类型
是否为空
默认值
备注
userID
Int
Not null
用户编号,主键,标识列,初始值为1,增量为1
userName
Nvarchar(30)
Not null
用户昵称
Sex
Bit
Not null
0
用户性别
Nvarchar(50)
Null
用户Email地址
enrollTime
Datetime
Not null
注册日期
userIcoSrc
Nvarchar(50)
Not null
用户头像地址
userCode
Nvarchar(12)
Not null
用户游戏帐号
Pwd
Nvarchar(50)
Not null
用户密码
userInfo 用户游戏信息表
字段名
数据类型
是否为空
默认值
备注
infoID
Int
Not null
信息编号,主键,标识列,初始值为1,增量为1
userID
Int
Not null
用户编号,外键,与userBasic表中userID字段关联
Experience
Int
Not null
0
用户游戏经验值
Coin
Int
Not null
1000
用户游戏金币值
Grade
Int
Not null
0
用户游戏级别
lastTime
Datetime
Not null
用户最近一次登录游戏的时间
cropBasic 作物基本信息表
字段名
数据类型
是否为空
默认值
备注
cropID
Int
Not null
作物编号,主键,标识列,初始值为1,增量为1
cropName
Nvarchar(50)
Not null
作物名称
Grade
Int
Not null
0
用户种植该作物所需达到的游戏级别
seedPrice
Int
Not null
0
用户购买该作物种子的单价
cropPrice
Int
Not null
0
作物果实卖出时的单价
getExp
Int
Not null
0
用户收获果实所得的单位经验值
hvtMax
Int
Not null
作物可收获果实的最大值
hvtMin
Int
Not null
作物可收获果实的最小值
hvtTime
Int
Not null
作物从种子阶段成长到结果阶段所需的时间值
cropIcoSrc
Nvarchar(50)
Not null
作物图标地址
Instroduce
Nvarchar(50)
Not null
作物简单介绍
cropGrowthInfo 作物生长信息表
字段名
数据类型
是否为空
默认值
备注
infoID
Int
Not null
信息编号,主键,标识列,初始值为1,增量为1
cropID
Int
Not null
作物编号,外键,与cropBasic表中cropID字段关联
germinateTime
Int
Not null
作物发芽阶段所需的时间值
litterTime
Int
Not null
作物小叶阶段所需的时间值
bigTime
Int
Not null
作物大叶阶段所需的时间值
flowerTime
Int
Not null
作物开花阶段所需的时间值
frutTime
Int
Not null
作物结果阶段所需的时间值
germinateIcoSrc
Nvarchar(50)
Not null
作物发芽阶段的图片地址
litterIcoSrc
Nvarchar(50)
Not null
作物小叶阶段的图片地址
bigIcoSrc
Nvarchar(50)
Not null
作物大叶阶段的图片地址
flowerIcoSrc
Nvarchar(50)
Not null
作物开花阶段的图片地址
frutIcoSrc
Nvarchar(50)
Not null
作物结果阶段的图片地址
harvestList 成果列表
字段名
数据类型
是否为空
默认值
备注
listID
Int
Not null
列表编号,主键,标识列,初始值为1,增量为1
userID
Int
Not null
用户编号,外键,与userBasic表中userID字段关联
cropID
Int
Not null
作物编号,外键,与cropBasic表中cropID字段关联
hvtTotal
Int
Not null
0
用户在游戏中摘取果实的累计值
cropStoreInfo 果实存储列表
字段名
数据类型
是否为空
默认值
备注
storied
Int
Not null
存储编号,主键,标识列,初始值为1,增量为1
userID
Int
Not null
用户编号,外键,与userBasic表中userID字段关联
cropID
Int
Not null
作物编号,外键,与cropBasic表中cropID字段关联
storeNumber
Int
Not null
0
用户仓库中存储的果实数量
seedStoreInfo 种子存储列表
字段名
数据类型
是否为空
默认值
备注
storied
Int
Not null
存储编号,主键,标识列,初始值为1,增量为1
userID
Int
Not null
用户编号,外键,与userBasic表中userID字段关联
cropID
Int
Not null
作物编号,外键,与cropBasic表中cropID字段关联
storeNumber
Int
Not null
0
用户包裹中存储的果实种子数量
plantInfo 种植列表
字段名
数据类型
是否为空
默认值
备注
plantID
Int
Not null
种植编号,主键,标识列,初始值为1,增量为1
userID
Int
Not null
用户编号,外键,与userBasic表中userID字段关联
soilID
Int
Not null
游戏中被开垦的土地编号
isReclaim
Bit
Not null
0
记录游戏中该块土地是否已被开垦;0代表未开垦,1代表已开垦
cropID
Int
Not null
作物编号,外键,与cropBasic表中cropID字段关联
startTime
Datatime
Not null
作物种植开始时间
State
Int
Not null
0
作物生长期间的状态值,包括无、正常、杂草、有虫、干旱、积水六种状态分别用0、1、2、3、4、5代表
Degree
Int
Not null
0
作物处于上述状态中的程度值;程度分为五级(x=2、4、6、8、10)
friendsList 好友列表
字段名
数据类型
是否为空
默认值
备注
listID
Int
Not null
列表编号,主键,标识列,初始值为1,增量为1
userID
Int
Not null
用户编号,外键,与userBasic表中userID字段关联
friendID
Int
Not null
好友编号
4.2 表之间的关联设计
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。