首页 > 代码库 > 第三次作业
第三次作业
结对编程—黄金点游戏
一、角色的分配
领航员:张书逸 驾驶员:李强胜
二、内容及要求
黄金点游戏是一个数字小游戏,其游戏规则是:
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轮以上,并能够保留各轮比赛结果。
5、作业总结中,驾驶员主要描述本次结对编程中领航者对代码复审做了哪些工作,提出了哪些有建设性的意见和建议。领航者对驾驶员本次工作进行总结,主要包括代码风格、编程技巧等,两人应共同总结与一人编程相比,结对编程是否真正提高了代码质量和编程效率,双方应该将本次工作过程拍若干张照片并发布到博客中。
三、总结
本次结对编程过程总的来说是圆满的。过程中遇到某些具体的问题都可以尽快的解决,当然这其中避免不了互相的辩论。
领航者张书逸在代码复审过程中纠正了我编程的错误,对于语法、代码风格提出了很宝贵的建议,我欣然接受。例如在具体算法实施过程中,我采用了一个main函数的结构,虽
然这样做比较简单,但在阅读和检查过程中显得相当乱,没有层次,很难读。张书逸给我提出了很好的意见,我们采用了多段函数来编译,效果立竿见影,代码阅读方便了许多,也
更容易校验。结对编程与一人编程相比,既有好处也有难处。好处在于可以及时的修正思路和编程错误,可以盯着我让我可以抓紧时间,提高效率。难处就在于具体的算加实施由于
两人的思路不同会产生分歧,最终过程还是要斟酌谁的思路更好再采用。
四、结对编程过程照片
五、具体代码上传至https://coding.net/u/lqs195/p/goldengame/git/blob/master/zouye3
第三次作业