黄金点游戏

      N个同学(N通常大于10),每人写一个0~100之间的有理数 (不包括0或100),交给裁判,裁判算出所有数字的平均值,然后乘以0.618(所谓黄金分割常数),得到G值。提交的数字最靠近G(取绝对值)的同学得到N分,离G最远的同学得到-2分,其他同学得0分。玩了几天以后,大家发现了一些很有意思的现象,比如黄金点在逐渐地往下移动。

      现在请大家根据这个游戏规则,编一个可以多人一起玩的小游戏程序,要求如下:

      1、本作业属于结对编程项目,必须由二人共同完成,并分别将本次作业过程发到博客,同时将本次作业源代码提交到codeing系统;

      2、如果可能的话尽量以C/S或B/S方式实现,即利用服务器接收和处理所有玩家提交的数字,并将结果反馈给各玩家,玩家可以通过客户端提交的数字;

      3、如果采用单机方式实现的话,需要为用户提供便利的输入界面;

      4、该游戏每次至少可以运行10轮以上,并能够保留各轮比赛结果。

一.游戏分析过程:

本次游戏我是用C语言设计的,游戏的主要过程上述已经很清楚了。我对此程序的设计分析有如下几点:

1.本程序的设计用了冒泡排序的思想。

2.设计三个一维数组,第一个用来存储n个同学所写的数字,第二个用来存储这些同学随机写入的数据经冒泡排序后的新序列,第三个用来存储选取这些数字的每一个同学所得的分数。

3.这次程序的用到最多的是for循环结构,利用for循环在用户端实现该数组元素的输入,尤其是冒泡排序法。

4.游戏运用了冒泡排序法是因为通过冒泡排序可以将第一个数组当中的无规则的元素按从小到大的顺序依次输入到第二个的数组当中,通过第二个数组元素我们可以分析得到,第二个数组当中的第一个元素一定是与G值相差最大的那一个,它可以得到-2,而最后一个一定是最小的,它可以得到N分,其他的则是0分,然后我们可以依次把这些分数输入到第三个数组当中去,并依次输出。

二.对于我的搭档的看法

我认为他表现的不错,在我们两个人一起工作的过程中,我学到了很多的东西,我们彼此促进,共同交流,他很仔细,虽然我们最终的代码还是有错误,但是我想我们的思路一定是对的,这一点我很坚信,如果有错误只能说明我们的编程能力不够,学艺不精,我们不断的测试调试,但是不够成功,这是我比较遗憾的。

 

posted @ 2016-04-09 19:59  王清天  阅读(178)  评论(1编辑  收藏  举报