附加作业:黄金点游戏
1.这次和我结对的是我同班同学杰麟,宿舍就在我隔壁,交流起来也很方便。杰麟博客链接
2.俩人各自所做工作?对方编程习惯总结(是否遵照代码规范、是否关注算法效率、是否做了代码复审、界面设计是否关注美观实用等等);
这次作业我主要负责算法的编写和界面设计,杰麟主要负责程序的测试和完善代码。
- 代码规范:
分模块编程的思想,主要体现在将算法和用户界面封装起来,并互相隔离,这样可以大大方便代码的改进和修复bug,以及做进一步的测试。
算法效率做过改进,主要体现在“个人得分”的存储和更新上。
程序测试的同时进行了代码的复审
界面设计参考了C++资料书上的模式,个人感觉还行,美观谈不上,但是很实用。
3.本次编程过程的体会和总结;
- 其实结对编程是我个人比较喜欢的模式,因为两个人可以有非常明确的分工,效率也特别高,可以互相取长补短。
- 本次作业相对比较容易实现,关键在于交互的方式要足够友好,也就是要让人感觉确实是在玩一个游戏,而不是在跑一个程序,这是比较费时间的事情。另外,代码的优化也必不可少,特别是对算法的改进,初始化、参数更新模块的优化等。
- 至于为什么会出现“黄金点在逐渐地往下移动”,其实原因很简单,因为黄金分割常数(0.618)小于1,所以每轮比赛的黄金点都比实际平均值低。当玩家玩过几轮后,会发现当自己选择的数比较小的时候,会有更大几率获得高分,所以玩家们报的数就越来越小,导致黄金点往下移动。相反,如果常数大于1,黄金点就会向上移动。
4.编程要求实现结果以截图形式体现
初始菜单:游戏规则、开始游戏和退出游戏
游戏规则如下:
开始游戏:
退出游戏:
- 做完后让舍友玩了一下,舍友表示还挺有意思的~~~