大家好,欢迎关注极客架构师,极客架构师,专注架构师成长,我是码农老吴。
2022北京冬奥会,我国运动员成绩喜人。
谷爱凌获得女子U型场地技巧,女子大跳台两个项目的金牌,女子坡面障碍技巧银牌。
苏翊鸣获得男子大跳台金牌,男子坡面障碍技巧银牌。
其他运动员,也取得了可喜可贺的成绩。
冬奥会比赛项目繁多,有7个大项,每个大项下面有数量不等的分项,本届冬奥会总共15个分项。
以滑雪项目为例,滑雪项目是大项,下面有6个分项如下,每个分项,都有不同数量的小项,每个小项计分规则,都有一定的差异。
各项运动都需要给运动员计算分数,并进行排名。各项运动的计算分数规则各不相同(参考后面的附件),假如你是冬奥会软件供应商的架构师,如何帮助奥运会设计开发一套灵活的,可扩展的打分排名系统。这个系统会用到哪些设计模式,大家可以思考一下。欢迎大家在评论区留言,以下设计模式可供参考。
工厂模式,模板方法模式,命令模式,策略模式,代理模式,单例模式,门面模式等等。
我将在下周,逐步输出我自己尝试开发的,该系统的源代码,并进行持续的迭代优化,欢迎大家关注。
项目说明
名词约定:
主观分:即由裁判根据自己的专业知识和经验给出的分数。
客观分:无需裁判参与,只需要通过仪器测量即可,在本系统中通过随机类产生。
输入模块:
- 选择运动项目
- 输入运动员信息,输入所需主观分,客观分随机生成。
排名模块:
- 获取运动员分数
- 根据运动规则,计算运动员最终成绩并排序。
输出模块:
输出以下信息:
运动员编号,姓名,分数,排名,奖牌等
补充说明:
系统需要具有扩展性,可以支持奥运项目的变化和计分规则的变化。
极客架构师,专注架构师成长,我是老吴,我们下期见。
附件:
说明,由于运动项目我不是专业人士,以下评分规则和实际规则会有一定的出入,我也做了一定的简化,大家请见谅,我们重点在软件开发和设计模式上面。
滑雪项目评分标准
越野滑雪-男子个人短距离
计分规则:
一轮定胜负,用时少者获胜。
跳台滑雪
计分规则:
每个运动员跳三次,三次中,分数最高的作为比赛成绩。每次的成绩如下:
总分=距离分 姿势分±助滑分±风速分
距离分,助滑分,风速分,都属于客观分,不需要裁判参与。
姿势分:5名裁判参与,每个裁判最高20分,最终分数为5个分数之后-最高分-最低分
单板滑雪
计分规则:
每个运动员跳三次,三次中,分数最高的作为比赛成绩。每次的成绩如下:
总分=分段得分(60%) 整体打分(40%)
分段得分:由6个裁判负责,每个裁判负责一个区域,前三个道具区,后三个跳台区,最高分数10分。
整体打分:由三个裁判负责,取平均分,最高分数为40分。