java 农场_课外资源

本文档描述了一个农场模拟游戏的设计,包括前端用户交互系统和后端数据库管理。用户可进行登录、注册、农场操作(如种植、收获)、商品买卖等功能。后端涉及金币、经验、土地状态等数据管理,采用数据库记录并根据时间推进进行进程调度。
摘要由CSDN通过智能技术生成

1 概述

构思如下

前端用户交互系统,包括用户注册和登录,农场概况、土地操作。作物操作等。用户注册时要有相应的用户名、密码、提示问题、答案,登陆后可以修改用户部分相关信息。农场主要信息包括金币数、经验值、好友排行,涉及到相关数据库的存储。对土地的操作主要是耕地、开垦,增加经验同时减少金币。作物的种植、除草、浇水、施肥,对应着相关数据库数据更新。金币的主要来源应该是以卖果实增加的金币。 后端包括后台数据库管理、进程调度。对于金币、经验、土地数、成熟时间等都应有详细记录,主体以时间的记录推进,以金币数和经验值数作为判断标准,进行相应的进程调度。

1.1 需求规定

1.1.1 对功能的规定功能

输入

处理

输出

登录;找回忘记密码

在登录页面输入的用户名、密码;提示问题答案

信息验证,并判断是否弹出农场界面;

在登录页面提示登录结果;用户基本信息修改页面

浏览农场

单击农场按钮;对农场的拖动操作

弹出农场界面

弹出农场界面

购买商品

点击商店小图片进入商店界面;在商店页面选择的商品种类、输入的数量

用户金币值减少,用户包裹商品种类、数量增加

显示商品种类名称+商品数量,提示购买结果,显示用户金币减少

播种

在农场界面对土地进行的操作;种子种类名称+播种的土地编号

在界面中替换图片

在农场界面的土地上发生变化

作物生长

作物阶段生长时间+作物生长状态

在界面中替换图片;计算作物生长时间、生长状态

在农场界面的土地上发生变化

拖动、翻地、收获、(不能放虫、放杂草)

在农场界面对土地进行的操作;操作编号

在界面中替换图片

在农场界面的土地上发生变化

收获果实,放仓库

在农场界面对土地进行的操作

在界面中替换图片;将商品种类及其数量加在数据库中;用户经验的变化

在农场界面的土地上发生变化,仓库中果实的种类及其数量增加

卖果实

在仓库页面选择的商品种类、输入的数量

将商品种类及其数量在数据库中减去;用户金钱的增加

仓库中的商品种类及其数量减少

开垦土地

在农场界面对土地进行的操作

在界面中替换图片

在农场界面的土地上发生变化

查看包裹;包裹内物品的使用

单击包裹按钮;点击使用按钮

弹出包裹显示种类,数量列表

弹出包裹;对包裹内的物品进行操作

分页显示好友信息

点击好友面板可弹出好友列表界面

经验排行,金钱排行,查询好友功能

相应显示操作结果

1.1.2 系统功能层次模块图

caefc29ef034417dc1bc78a3864ad7de.png

1.1.2.1 子模块

用户土地操作:包括翻地、播种、收获等;增加经验值

2 系统功能设计

2.1 登录注册功能

本功能为登录注册功能,包括登录、注册。当个人忘记密码时,由其通过回答提示问题找回密码。

2.1.1 登录子功能

系统要求登录者提供帐号、密码,并进行身份确认及登录结果页面导向。如果登录者输入的账号和密码与数据库数据不一致,则提示该用户“您输入的账号或密码错误,请从新输入!”;登录成功后弹出用户农场界面。又或者该用户已经不记得密码,登录还设置一个找回密码的功能,用户可以修改自己的密码及部分基本信息,单击找回密码按钮则弹出用户早先在注册信息中设置的问题,如果用户输入的答案与注册信息中设置的答案不一致,则提示用户“您输入的答案错误,请从新输入!”;如果输入的答案正确,则弹出密码从新输入对话框,要求用户重新输入密码,并再次确认以及是否修改其他基本信息,用户提交后,经过验证将数据保存到数据库。

2.2 用户功能

农场界面会显示用户的游戏信息,如昵称、等级、金币等信息。同时农场会显示不同的图片按钮供用户进行操作,如点击商店图片进入商店购买物品、点击留言可以输入留言信息、点击仓库图片进入仓库查看作物等。

2.2.1 土地操作子功能

用户对自己土地的操作,主要包括拖动、翻地、播种收获、等。不能放虫、种杂草等等。如果进行翻地操作的土地上已经存在作物,这时对土地进行操作为有效操作,。当土地上没有作物时可以进行播种操作,当土地上存在作物时不可以进行播种操作。物已经成熟,可以进行收获、,当土地上的作物没有成熟,则不能进行收获。

2.2.2 买卖商品子功能

游戏中包含商店系统,用户可以从商店中用金币购买物品,也可以把自己仓库(仓库是用来存取用户作物收成的地方)中收获或偷取的果实、蔬菜等物品卖到商店获得金币。用户通过单击商店按钮进入商店界面,在商店中用户可以看到系统所提供的所有商品,其商品信息主要包括:商品名称、购买单价、限制购买等级等等;如果用户单击仓库按钮,则进入仓库界面,在仓库界面中,用户可以看到已经收获的或偷取好友的果实各自的种类、名称、数量、卖出单价及其所有果实的卖出收入。

记录日志也是系统的功能,用户对好友的土地操作会由系统记录下来,并显示到用户的日志信息中。日志记录的主要内容应该包括:用户对土地的操作、用户的买卖行为以及好友对土地的操作等等。主要日志字段包含操作人、操作时间以及操作内容等。

3 数据字典设计

数据字典的主要目的是提供查阅对不了解的条目的解释。在数据字典中记录数据元素的下列信息:一般信息(名字,别名,描述等),定义(数据类型,长度,结构等),使用特点(值的范围,使用频率,使用方式—输入/输出/本地,条件值等),控制信息(来源,用户,使用它的程序,改变权等),分组信息(父结构,从属结构,物理位置—记录、文件和数据库等)。

下面的例子是通过卡片来描述数据字典:

9d15dbedeb07423c49f6ee3d17e71f32.png

4 数据库设计

4.1 表设计

4.1.1 TableName(表名的解释)

userBasic 用户基本信息表

字段名

数据类型

是否为空

默认值

备注

userID

Int

Not null

用户编号,主键,标识列,初始值为1,增量为1

userName

Nvarchar(30)

Not null

用户昵称

Sex

Bit

Not null

0

用户性别

Email

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 表之间的关联设计

7a616e077541382baac93770fdebff21.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值