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? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in 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: