zoukankan      html  css  js  c++  java
  • 结对编程:黄金点小游戏

    一.游戏要求

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

          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.确定游戏界面,美观

    2.确定游戏轮数,玩家人数

    3.确定算法,计算每轮的平均值及黄金点数,以及相应的比较功能

    4.输出每轮的游戏结果,显示分数和赢家输家

    三.结对编程

     1.和我一起组队的是高振超 他的博客链接:http://www.cnblogs.com/Amethy1st/

     2.结对编程时,两个人一起编程,用一台电脑,同时进行。编代码时有些我疏忽的地方,他都会提醒的到,并且发现一些需要加强和补充的地方,为人耐心仔细,让编程的过程更有效率,避免一些时间上的浪费。

    3.编程时,我负责游戏结构的梳理和主程序的编写,队友负责游戏内容算法的完善和调试,两个人齐心协力,共同完成了这一个小编程。我编程时思路比较快,代码的规范并不是很好,比较强调效率,而对方比较耐心,对代码的复审和完善比较重视,两个人互相补充,逐渐完善了代码。

    4.当我真正完成了整个代码的时候,我才真正体会到了老师让我结对编程的意义,一个人编代码的过程,可能一起喝成,思路比较快,但相比较于结对编程,两个人一起探讨,一起编代码,还是有一些不同,结对可以让两个人取长补短,代码的思路和内容也可以根据两个人不断完善,相对于一个人它是片面的,可能有些考虑不到的地方,对方就很容易的想到了,我在编代码时这一点深有体会。在结对的过程中,可能我们两个人会有意见上的争执,谁都不服谁,觉得自己的好一些,但经过两个人分别的解释时,通过筛选,可以选择出最适合我们的算法,算法的效率也得到了提高。

    5.结对编程的过程中,我深有体会这个社会是需要合作共赢的,不管是现在的学习生活还是未来的工作中,避免不了和他人的合作,合作中方也许会有不愉快的事情发生,但只要两个人心齐,向上不断进取,结果都会往好的方向发展,让我们不断的完善。

    结对编程的照片如下~

    四.游戏效果实现

    输入游戏轮数

    输入玩家人数

    输入玩家输入内容

    输出赢家输家是谁

    公布此轮答案

    五.总结

     此次的结对编程,让我第一感受到了两个共用一台电脑,一个键盘,一个鼠标共同合作的体会,编程的过程中,不再是一个人的纠结,换成两个人共同的商议,过程少了一些枯燥无味,而是更有动力去完成我们此次的小游戏编程,老师的良苦用心我们已经体会!希望还会有更多的机会和大家一起合作!

    代码coding链接:https://coding.net/u/gygy9610/p/jiedui-goldgame/git/tree/master

  • 相关阅读:
    Java 8 的内存结构
    数据库锁和隔离级别
    MySQL中的where和having
    单例对象线程安全问题
    计算机速成课 第6集:寄存器 & 内存
    多叉树的深度优先和广度优先遍历
    javascript中异步任务的执行顺序
    错误:C2062:意外的类型"unsigned int"问题的排查
    键值类型QMap、QHash等区别
    qt中文不相等问题
  • 原文地址:https://www.cnblogs.com/gygygy/p/5966536.html
Copyright © 2011-2022 走看看