We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
题目:你打算把我们现在的这套游戏做成一个程序,但是从哪里开始呢?就先从数据结构开始吧!据说只要数据结构定义的好,程序就会很简单,如果数据结构不好,就要写很多算法来弥补,balabala总之大牛都是怎么说的。那么,怎么定义一个任务的数据结构呢?一个任务结构(对象)应该有哪些属性呢?这些属性应该是什么类型的呢? 尝试定义一下任务的数据结构。 任务 定义任务的数据结构 技能加成 编程原理+1 任务难度 I
题目:你打算把我们现在的这套游戏做成一个程序,但是从哪里开始呢?就先从数据结构开始吧!据说只要数据结构定义的好,程序就会很简单,如果数据结构不好,就要写很多算法来弥补,balabala总之大牛都是怎么说的。那么,怎么定义一个任务的数据结构呢?一个任务结构(对象)应该有哪些属性呢?这些属性应该是什么类型的呢?
尝试定义一下任务的数据结构。
任务 定义任务的数据结构
技能加成 编程原理+1
任务难度 I
根据游戏流程设计一个评分系统,来完成成员每周的分数计算、周排名和总排名的功能。 问题描述:有一评分系统,需记录每周每位成员完成任务的情况,即记录每位成员的花名与各项得分(任务领取时间、任务提交时间、任务难度、用户等级、完成分数、连击数和基础分数), 并计算成员的每周排名和总排名。 设计该评分系统的数据结构。
根据问题描述,首先要计算每位成员的任务得分,才能记录各位的排名。 计算成员得分需要输入成员花名和任务各项的分,即输入数据为 成员花名 和 任务各项评分 。 计算得分后还需输出排名,故输出数据为 成员得分 和 成员排名。
评分流程:
所以用两个结构分别存储输入输入数据:
由于不论是否排名,每次提交任务后一定会计算当次得分,可认为得分与评分同时发生,可将计算得分的方法和评分放在同一模块。 故结构变为:
若发生 统计多次得分再排名 的情况(如将周排名改为月排名),以上两个结构将每次单独的评分和累积n次后的排名分隔开,清晰明了,易于操作,可被日后可能发生的的改动所复用。
具体到当前的需求,需要记录成员单次排名和总排名,所以也可将排名和得分也放在一个模块中,方便计算,与其他属性关联性也更强。 故也可只用一个结构来记录所有数据和方法:
输入数据中,任务各项的分可细化为:任务难度得分(props)、用户等级(level)、完成分数(score)、连击数得分(combo)、基础分数(basic),所以可得输入数据的具体数据类型。
输入数据的类型:
输出数据中,成员得分大致可分为 任务各项得分 、本周个人得分 和 个人总得分 ,任务各项得分即为输入数据终端任务各项评分,数据状态没有发生变化。成员排名分为 周排名 和 总排名,故输出数据的具体数据类型如下。
输出数据的类型:
两个结构存储数据:
单个结构存储数据:
综上,可观察到每项数据在流程中每个步骤中的变动:
如何设计一个任务的数据结构呢:
首先,要对任务进行 需求分析 ,对任务作出明确的描述,才能明确任务要达成什么目标(输出),达成目标需要哪些步骤(数据如何变动),需要从哪些数据出发(输入),限制条件是什么,数据的范围是什么等。
其次,根据分析出的需求,考虑任务综合性描述,为使系统流程和结构清晰合理,可先定义大致的数据结构。
最后,流程清楚了之后,根据每个步骤的具体处理方法,将大致的数据结构细化为具体的数据结构。
至此,一个任务的数据结构就定义完了,接下来就是设计数据处理的方法咯。
The text was updated successfully, but these errors were encountered:
No branches or pull requests
本次任务的实现:
一、需求分析:
游戏流程:
二、概要设计
评分流程:
三、详细设计
输入数据的类型:
输出数据的类型:
四、数据变动
总结:
首先,要对任务进行 需求分析 ,对任务作出明确的描述,才能明确任务要达成什么目标(输出),达成目标需要哪些步骤(数据如何变动),需要从哪些数据出发(输入),限制条件是什么,数据的范围是什么等。
其次,根据分析出的需求,考虑任务综合性描述,为使系统流程和结构清晰合理,可先定义大致的数据结构。
最后,流程清楚了之后,根据每个步骤的具体处理方法,将大致的数据结构细化为具体的数据结构。
至此,一个任务的数据结构就定义完了,接下来就是设计数据处理的方法咯。
The text was updated successfully, but these errors were encountered: