黄金点游戏

一、项目描述:黄金点游戏

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

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

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

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

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

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

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

 

二、程序介绍

因为我们都不会用C/S或B/S方式实现,所以我们最开始的想法是用C++写“小黑框”运行,因为我比较熟悉C++,所以这次的编程由我主编,他来完善,最后一起进行测试。

这里是C++程序的链接:https://coding.net/u/A_RACHEL/p/golden-point/git/blob/master/1

C++的运行结果如图所示:

输入玩家人数后每个玩家都有独立的输入界面,可以防止玩家看其他人的数字作弊。

运行后会输出本轮的黄金点和成绩,并询问是否进行下一轮游戏。

玩家的每轮游戏都会保存在文件中。

如果选择不继续游戏,会输出玩家的总成绩。

 

三、总结

我这次结对编程的队友是宋丰年,是我的同班同学。虽然是同学,但是我们之前的交流并不多,这次结对编程也让我对他有了新的了解。他是那种学习成绩特别好,基础也特别扎实的人。他的性格也非常好,态度很积极,遇到问题的时候也愿意认真的沟通。我原来还以为会因为不太熟悉而和他在沟通上出现一些问题,没想到实际上整个沟通的过程非常的顺利。我在写程序的时候有不会的地方也可以及时请教。

这是我们一起编程时的照片:

 

这是他的博客链接:http://www.cnblogs.com/Iriya/

这次结对编程让我有很多体会。首先,作为经常独立编程的我,能够非常真切的感受到两个人的确比一个人效率更高。在编程的过程中,可以发现对方的一些错误,及时提醒,自己也能从对方身上学到很多。其次,我体会到了与人合作时沟通的重要性。良好的沟通的确能起到事半功倍的效果。最后,在实际编程过程中发现自己还有很多不足的地方,以后还要继续学习。

 

posted @ 2016-10-17 17:21  黄玥  阅读(232)  评论(2编辑  收藏  举报