任务设计心得:
表1:任务基本表
表的设计采用无机分类加普通分类的方法,原因如下:
第一:采用无极分类可以是流程性任务的顺序不会固定死
第二:采用普通法类分的方法添加到无极分类的方法中,可以将查询单个任务的难度降低,在不需要形成流程图的时候可以提高查询的速度,降低查询的当前任务下所有子任务的难度。
表2:玩家已接任务表:
对此表的操作部分采用如下方法:
对流程性任务的操作采用第一步采用insert操作,对除最后一步的操作采用update的操作,在未点击【接受任务】按钮之前都不update此行数据,当整个流程任务操作完成的时候采用delete操作
以上两表结果如下:
/*==============================================================*/
/* Table: RoleTask */
/*==============================================================*/
/*角色已接任务表*/
create table RoleTask (
RoleId int null/*角色id*/,
TaskId int null/*任务id*/,
FTaskId int null/*所属任务id*/
)
go
/*==============================================================*/
/* Table: Task */
/*==============================================================*/
/*任务表*/
create table Task (
TaskId int identity/*任务id*/,
TaskName nvarchar(6) null/*任务名称*/,
TaskContent nvarchar(100) null/*任务内容*/,
Classid tinyint null/*任务所需条件类型id(1表示物资 2表示设备 )*/,
LTaskId int null/*所需上一个任务id(流程任务才有 单次任务填0)*/,
FTaskId int null/*所属任务id(流程任务才有 单次任务填自己的id)*/,
constraint PK_TASK primary key (TaskId)
)
go