游戏人物装备技能数据表怎么设计(整理)

游戏人物装备技能数据表怎么设计(整理)

一、总结

一句话总结:把人物的属性抽离出去,其它的装备啊,技能表和属性表之间建立一个关系表。

 

1、装备表如何设计(装备表和角色表的对应关系是什么)?

装备属于人物,所以装备表可以加上所属人物的id

装备,包括的数据项有:装备名称,装备描述,(通用属性),装备ID,主人ID

其实可以弄一个装备属性表,来表示装备提升的属性,和技能一样

 

2、技能表如何设计?

技能,包括的数据项有:技能名称,基础伤害,加成类型,加成比例,冷却时间,学习等级

其实可以弄一个技能属性对应表,来表示技能提升的属性

有技能id,有属性id,有提升类型(数值还是百分比),有提升值,每升一级提升值

 

3、人物的属性(包括基础属性比如力量魔法和面板属性比如伤害)是否需要抽离?

需要:因为下面这条里面有属性id

有技能id,有属性id,有提升类型(数值还是百分比),有提升值 (每级),有技能图标

 

4、怪物表如何设计?

和角色表一样,角色有的怪物应该都有,比如各种属性

 

 

二、RPG游戏数据库设计

一.数据库需求分析

通过游戏过程中所需元素,设计如下数据项和数据结构
1.角色,包括的数据项有:用户ID,角色ID,角色昵称,(通用属性,角色属性)
2.角色属性,包括的数据项有:力量,智力,敏捷,经验值,职业,角色ID
3.通用属性,包括的数据项有:生命值,魔法值,攻击力,护甲值,魔抗值,主人ID
4.怪物信息,包括的数据项有:怪物ID,(通用属性,NPC属性)
5.NPC属性,包括的数据项有:出生地点,活动范围,功能,主人ID
6.用户信息,包括的数据项有:用户ID,用户密码,用户邮箱,登陆地址,登陆时间
7.装备,包括的数据项有:装备名称,装备描述,(通用属性),装备ID,主人ID
8.技能,包括的数据项有:技能名称,基础伤害,加成类型,加成比例,冷却时间,学习等级

二.数据库概念结构设计

 

角色E-R图.PNG

 

角色属性E-R图.PNG

 

通用属性E-R图.PNG

 

怪物信息E-R图.PNG

 

NPC属性E-R图.PNG

 

用户信息E-R图.PNG

 

装备E-R图.PNG

 

技能E-R图.PNG

 

实体间联系E-R图.PNG

三.数据库逻辑结构设计

角色
字段名 数据类型 长度 是否为NULL 描述
YHID INT 8 不为NULL,外键 创建该角色的用户ID
JSID INT 8 不为NULL,主键 该角色的ID
JSNC CHAR 8 不为NULL 角色昵称
角色属性
字段名 数据类型 长度 是否为NULL 描述
ID INT 8 不为NULL,外键 拥有该属性的角色ID
LL INT 3 不为NULL 力量
ZL INT 3 不为NULL 智力
MJ INT 3 不为NULL 敏捷
JYZ INT 3 不为NULL 经验值
ZY CHAR 4 不为NULL 职业
通用属性
字段名 数据类型 长度 是否为NULL 描述
SMZ INT 3 不为NULL 生命值
MFZ INT 3 不为NULL 魔法值
GJL INT 3 不为NULL 攻击力
HJZ INT 3 不为NULL 护甲值
MKZ INT 3 不为NULL 魔抗值
ID INT 8 不为NULL,外键 拥有该属性的ID
怪物
字段名 数据类型 长度 是否为NULL 描述
ID INT 8 不为NULL,主键 怪物ID
NPC属性
字段名 数据类型 长度 是否为NULL 描述
ID INT 8 不为NULL,外键 拥有该属性的ID
CSDD CHAR 8 不为NULL 出生地点
HDFF INT 3 不为NULL 活动范围
GN CHAR 3 可空,商人,任务发布者,怪物等 功能
用户信息
字段名 数据类型 长度 是否为NULL 描述
YHID INT 8 不为NULL,主键 用户ID
YHMM CHAR 8 不为NULL 用户密码
YHYX CHAR 8 不为NULL 用户邮箱
DLDZ CHAR 8 可NULL 登陆地址
DLSJ CHAR 8 可NULL 登陆时间
装备
字段名 数据类型 长度 是否为NULL 描述
ZBID INT 8 不为NULL,主键 装备ID
ZRID INT 8 不为NULL,外键 拥有该装备的角色ID
ZBMC CHAR 8 不为NULL 装备名称
ZBMS CHAR 8 可NULL 装备描述
技能
字段名 数据类型 长度 是否为NULL 描述
ID INT 8 不为NULL,外键 拥有该技能的角色ID
JNMC CHAR 8 不为NULL 技能名称
JCSS INT 8 不为NULL 基础伤害
JCLX CHAR 2 不为NULL,物理,魔法 加成类型
JCBL INT 2 可为NULL 加成比例
LQSJ INT 3 不为NULL 冷却时间
XXDJ INT 3 可为NULL 学习等级

四.数据库物理结构设计

根据以上逻辑分析所得到的表的关系,我们使用SQL语言设计得到数据库和数据表,如下:
1.创建数据库RPGdatabase
CREATE DATABASE RPGdatabase;

2.创建角色数据表
CREATE TABLE Players(
YHID INTEGER NOT NULL,
JSID INTEGER NOT NULL,
JSNC CHAR(8) NOT NULL,
PRIMARY KEY(JSID)
FOREIGN KEY(YHID) REFERENCES(Users)
)

3.创建角色属性数据表
CREATE TABLE PAttributes(
ID INTEGER NOT NULL,
LL INTEGER NOT NULL,
ZL INTEGER NOT NULL,
MJ INTEGER NOT NULL,
JYZ INTEGER NOT NULL,
ZY CHAR(4) NOT NULL,
FOREIGN KEY(ID) REFERENCES(Players)
)

4.创建通用属性数据表
CREATE TABLE PAttributes(
ID INTEGER NOT NULL,
SMZ INTEGER NOT NULL,
MFZ INTEGER NOT NULL,
GJL INTEGER NOT NULL,
HJZ INTEGER NOT NULL,
MKZ INTEGER NOT NULL,
FOREIGN KEY(ID) REFERENCES(Players)
)

5.创建怪物数据表
CREATE TABLE Monsters(
ID INTEGER NOT NULL,
PRIMARY KEY(ID)
)

6.创建NPC属性数据表
CREATE TABLE NpcAttributes(
ID INTEGER NOT NULL,
CSDD CHAR(8) NOT NULL,
HDFF INTEGER NOT NULL,
GN CHAR(3),
FOREIGN KEY(ID) REFERENCES(Players)
)

7.创建用户信息数据表
CREATE TABLE Users(
YHID INTEGER NOT NULL,
YHMM CHAR(8) NOT NULL,
YHYX CHAR

  • 10
    点赞
  • 71
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值