结对编程作业
结对人员:何宇峰,马婧婧。
小伙伴的友情链接:http://www.cnblogs.com/majingjing/
程序也已经上传到Coding,直达地址:https://coding.net/u/qaw01213/p/jieduibiancheng/git
这次结对编了个单机的黄金点数小游戏,因为电梯调度系统对于我们这种编程基础一般的人来说感觉是难了点,所以决定量力而行,先把简单的做了,再考虑难的。
黄金点游戏
黄金点游戏是一个数字小游戏,其游戏规则是:
N个同学(N通常大于10),每人写一个0~100之间的有理数 (不包括0或100),交给裁判,裁判算出所有数字的平均值,然后乘以0.618(所谓黄金分割常数),得到G值。提交的数字最靠近G(取绝对值)的同学得到N分,离G最远的同学得到-2分,其他同学得0分。玩了几天以后,大家发现了一些很有意思的现象,比如黄金点在逐渐地往下移动。
首先游戏程序分析:
个人觉得这个程序的设计还是比较简单的,思路也比较清晰,第一步先确定玩家们想进行游戏的轮数,然后在决定进行游戏的玩家人数,接着就可以开始游戏了。一轮游戏结束之后会立即显示各位玩家当前所获得的分数,并提示玩家们进行下一轮的游戏输入。
程序设计:
首先定义一个两个指针数组,一个用来记录每个同学输入数字并且在算出黄金点后暂时记录差值,另一个用来记录每个同学的当前总分数。
然后设计一个函数int compute()来计算当轮游戏的黄金点数,把该黄金点数传入函数void compare()中进行与每位玩家所输入的数值比较,找出离黄金点最近的玩家,给该玩家加上等于玩家人数的分数,同时找出离黄金点最远的玩家,并将该玩家的分数减2,其余玩家分数不变。
最后通过一个函数void consequence()来打印输出当轮游戏过后每位玩家的当前总分数。
编程体会:
最初在写完程序时,连编译都通不过,提示了一大堆的错误,这个时候心里是比较崩溃的。最后通过错误提示挨个检查,并通过百度查找一些看不太懂的错误解决办法,终于让程序可以运行起来。这时候有点舒爽了。在程序初步运行时,还有很多不合理的地方,出现了很多BUG,比如黄金点数计算不对,所有玩家得分数一直为0,这时候又有点懵了,,不过之后通过一步步的调试程序在子函数中检查出了问题,加以修改,总算程序能正确的运行了,这时候心情有点小舒畅了。不过目前还只支持单机模式,联网模式还有待开发。最后要说的是电梯调度系统程序也在编,但是还没有成功,如果成功编出来的话就会放出来的。惆怅的“呼”……