第一次结对编程

经过几周的软件工程的学习,开始了第一次结对编程的项目,这让我在知道队友之前心里很是忐忑,我先来说一说原因吧。因为我对编程基础不是很好,我就在想给我分配一个大神,就会感觉压力真的好大,如果给我分配一个比我还不行的那我们不就完蛋了。之后看到老师给我分配的是璐姐,或多或少还是有压力的,但是在团队合作的过程当中发现我的顾虑是多余的。在我遇到问题的时候,璐姐还是会抽出自己的时间给我讲一些有关题目的方法,非常仔细认真,我也知道她要考研,能抽出时间来给我讲真的很感动。真心是一个中国好队友。在编程的过程中我们是互相分配了各自的任务,是各自完成相应函数的功能的实现,做完之后再一起把这些结合起来。看完璐姐的代码我觉得她的代码思路很清晰,相对我的代码就显得很简洁,我的写的太繁琐了,在后期还是对我实现的功能进行了改进。

很感谢老师能够给我们这个机会来结队完成,让我学到了很多东西。最大一点收获就是在编代码的过程中在队友身上学到了很多如何是自己写代码写得更快和如何更好的写出一个函数。

刘璐的博客:http://www.cnblogs.com/dododoit/

接下来就看一下这个题目:

黄金点游戏

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

      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轮以上,并能够保留各轮比赛结果。

首先我们要做的事就是如何求出G值。此函数getG(double *a,int n),传入的是玩家所选数字和玩家人数,通过求和算平均值的方法求得G点。代码如下:

接下来的这个是求差值,运用for循环和数组下标,其目的是算出离G点最远和最近的数并可得知其标号,这个功能是为了后面计得分的。代码如下:

这个函数完成的是玩家分数的排名,运用到的方法是冒泡排序。代码如下:

在主函数中运用到了函数的调用和玩家分数加减的操作及界面的显示:

程序实现的功能如下:

在此次结对编程中,我对自己也有了一些新的定位,从一开始队友的催促到了能够自己主动完成学习和编程的一个态度。我看到了有的同学已经可以做出来界面并且能在手机上运行,身为正在努力学习Java的我也通过已经自学的知识在eclipse上面把这个程序改成Java语言写出来的。虽然不是很屌,但我也在努力!!!加油加油!最后还是要感谢璐姐对我的帮助鼓励!

附:工作照片

 

posted on 2016-04-07 19:46  啊逃  阅读(171)  评论(1编辑  收藏  举报