结对编程-黄金点游戏

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

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

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

二、所提交的材料

   1.1项目源代码,已提交至coding系统中:

      黄珂锐(本人)coding链接:https://git.coding.net/lttra/3-softwarehomework-GoldGame.git

      黄明帅(队友)coding链接:https://coding.net/u/hmshms

   1.2初始界面和运行界面,见图1.1,1.2,1.3:

                                                      图1.1  初始界面

                                                    图1.2 模拟游戏界面

                                                   图1.3 游戏界面


   2、本次过程总结,每人独立完成,内容应至少包括如下部分:
       (1) 我的结对人员:黄明帅。其博客链接为:

         项目协作期间的照片,见图2:

                                    图1

       (2) 对方性格、工作态度评价:

         黄明帅性格乐观开朗,踏实谦虚。我们两个在之前在前端和web方面的知识都很欠缺,做这个项目需要学习许多新内容。在结对协作期间,他踏实勤奋,每遇到技术上的问题 都认真的翻阅资料和PPT,认真调试编码过程中出现的bug,反应快,思路清晰,学习能力强。
       (3) 俩人工作分工及一些感想:

         我主要做了游戏界面布局和一些基本按钮的响应的编码,他着重于游戏算法的实现的编码。个人感觉他的编码习惯很好,先打算法框架能模块化编程,每实现一个基本功能都会调试运行,查看结果。在算法效率方面,我们觉得还是比较良好。代码是两个人一起审查的,这个过程是随着编码都一直进行的。界面设计上具有实用性,但与期待的效果之间还是有较大差距,比如颜色搭配、边框设计、图片的筛选和剪辑等方面经验还不够丰富,用户体验效果可能会差一些;在算法功能还可进一步优化:我们目前的游戏仅能输入整数;没有reset按钮,所以重新开始游戏需要刷新界面;只能进行单机游戏,还无法实现客户机-服务器的交互模式等。游戏都由彼此所在宿舍室友们玩过,且目前没有发现bug。

         总结一下这次结对协作的收获:

        1.彼此都意识到了知识的不全面性,平时在课业之外的技术学习积累不够,推荐犀牛书和蝴蝶书;

        2.在非个人的项目中,最好是先两个人讨论一下项目的规划和想达到的预期结果。分工可以不够明确,但是要有各自的偏重方向。然后定期联系,了解对方的学习进度和遇到的问题。

        3.将学习一些新技术过程中遇到的问题和解决方法都记录下来,便于后期的回顾。

posted @ 2016-10-16 23:19  lttra  阅读(273)  评论(1编辑  收藏  举报