结对项目---黄金点

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了结对项目---黄金点相关的知识,希望对你有一定的参考价值。

代码摘自:https://coding.net/u/lwl123456

一、介绍:

黄金点游戏是一个数字小游戏,其游戏规则是:

N个同学(N通常大于10),每人写一个0~100之间的有理数 (不包括0或100),交给裁判,裁判算出所有数字的平均值,然后乘以0.618(所谓黄金分割常数),得到G值。

提交的数字最靠近G(取绝对值)的同学得到N分,离G最远的同学得到-2分,其他同学得0分。玩了几天以后,大家发现了一些很有意思的现象,比如黄金点在逐渐地往下移动。

二、需求分析:

这个项目要求的是从N个用户处获取数据,经过G点运算获取其差值,找出差值最大者和差值最小者对其进行分数赋予,在预设轮数后结束游戏并输出结果。思路清晰明了,大致分为以下几个步骤:

1.从N个用户处获取数据

2.获取G值,G值是此程序用于运算的关键数据,算法为所有用户提供数字的平均值与0.618的乘机。

3.获取用户数据中距离G点最近的值和最远的值,即获取赢家数据保存下标和输家数据保存下标,先调用之前的获取G点方法得到G的值,再把所有数据分别与之相减取绝对值得到差值数组,最后把差值数组内的每一个值分别与G值比较,保存下差距最大和差距最小者的下标。

4.数据重复处理,获取赢家成绩和输家成绩后,我们发现如果赢家不止一位,输家也不止一位,两个位置都有多个人占据,那么上面的代码就不能满足需求,所以要进行数据重复处理,获取完最大值和最小之后,反回去对原始距离数据进行对比,得出最大值和最小值的数据下标。

5.排序,游戏运行完毕,用户的成绩各不相同,所以需要将其排序输出来使结果。

三、个人感受

  结对游戏,在制作过程中,让我感到,一个团队去制作一款游戏,比一个非常牛逼的人去制作一款游戏的有趣度和工作效率将高很多。

代码已上传:https://github.com/satoshi-hoxi

已上传至:https://github.com/satoshi-hoxi

以上是关于结对项目---黄金点的主要内容,如果未能解决你的问题,请参考以下文章

结对项目——黄金分割点游戏

(第五周)结对项目——黄金点游戏

结对项目—黄金点游戏

结对项目---黄金点

结对项目——黄金分割点游戏(陈香宇&蔡春燕)

结对项目(黄金点游戏)