首页 > 技术文章 > 第三次作业——结对编程

cqz- 2016-10-17 16:44 原文

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

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

      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的方式实现,限于我和队友的水平有限就先用我们熟悉的C语言编写了个黑框程序。

黄金点游戏代码链接:https://coding.net/u/cqz_/p/test/git/tree/master/

我的队友:唐铭阳 博客账户链接:http://www.cnblogs.com/tyrx/

 

三、程序运行截图

1.开始游戏

 

 

2、测试用例

 

 

3、运行结果

 

 

 

4、三轮游戏的最终结果

 

 

四、总结与体会

  

  跟队友唐铭阳进行为期一周的编程合作,在最初看到这个题目时,我们首先进行了分析,需要进行哪些操作。在最先的构思中,想做成C/S的方式,但在后期编程过程发现自己能力达不到,就选择了图中的模式。短暂的合作中,我对我的伙伴有了一定的了解,我主要负责编写程序,而他则负责代码的调试以及测试,并在编程过程中给我建议,一起查找资料学习代码去实现。在这个过程中,他很有耐心,共同完成了这个简单的小游戏,在学中娱乐,在娱乐中又能学到新知识。

  最后谈谈我对结对编程的一些看法,这种合作的模式相比单人编程要有很多优点。首先,多人合作能有更多的发展空间,考虑到更多的思路以及好的主意;其次,能培养我们团结合作的工作态度,优势互补,缺点也可以互相指正,更有利于进步;而且能提高效率,分工合作,将自己的优势都可以使用出来,每个人做自己擅长的一部分,也可以互相学习,对自身的提高也是很有帮助的。

最后附上我们讨论时的照片:

 

推荐阅读