一、项目描述:黄金点游戏
黄金点游戏是一个数字小游戏,其游戏规则是:
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、项目源代码,以二人名义提交至coding系统中;
2、本次过程总结,每人独立完成,内容应至少包括如下部分:
(1) 首先,介绍自己的结对人员,并留下队员的博客链接(以便于老师对照看你们的作业吧),两人工作中的照片,要看到脸,并且要专注工作;
(2) 对方性格、工作态度评价;
(3) 俩人各自所做工作?对方编程习惯总结(是否遵照代码规范、是否关注算法效率、是否做了代码复审、界面设计是否关注美观实用等等);
(4) 本次编程过程的体会和总结,要有感情,切忌官话套话……
三、 结对管理
团队成员:张明智、李云龙
时间: 7天期限;
目标: 团队化管理,结对编程,共同进步。
项目预期:
第一阶段: 游戏先行版
描述: 网页版游戏,实现基本功能。
第二阶段: 游戏改进版
描述: 网站版游戏,网站(多个页面,服务器(后台处理),数据库)。
第三阶段: 持续更新版游戏
描述: 更新版(支持移动端和pc端并且持续更新的游戏)。
项目安排:
一共5天时间做完本次项目,至少先出先行版,后续跟进。
时间紧迫,效率为上。2天设计与材料准备;1天编码,2天测试和准备博客。
四、项目设计和分析
1、 分析:
一款游戏,游戏规则为黄金值(平均值*黄金数);
要有游戏介绍;
最少人数为10人,要有增加人数和删除人数;
得分为每轮计分,每轮结束自动清除;
最后黄金值输出。
2、建立思维导图:
链接:https://www.processon.com/mind/57fb9e94e4b03429bdfafbf3
先行版:
网页形式,必要的网页美化+基本功能;
要求:
页面简洁,布局合理,用户体验要好。
3 材料(工具)准备:
网页编写工具:webstorm
浏览器:IE chrome Firefox 等
环境: windows 系列
4 分工 :
一起设计分析;
张明智负责编写代码,李云龙负责指导和规范代码;
共同参与测试。
五、 编码
1 html5+css3的页面
简洁的页面。
2 必要的动画效果
动态添加删除输入的文本框,结果显示简洁。
六、 测试与发布
1 测试:
根据设计,页面分为3部分,左边为游戏规则介绍(项目介绍,用户可以编辑);中间为操作区域(输入数据),用户可以选择输出结果和增加游戏人数;右边为输出结果显示区域。
1.1 功能测试:
输入测试
采用7点测试法。
根据需求,输入数据在0~100之间的有理数(本项目认为0与00可以在内更合理),所以输入其他字符不能有效,并且数字在0~100.
结果见下表:
2 发布:
代码提交到coding.net,博客发布。
七 提交材料
1 coding链接:
html: https://coding.net/u/SchopenhauerZhang/p/softwareEnjeering/git/blob/prcticestwo/WebContent/main.html
2 队友(队友链接:http://www.cnblogs.com/Myosotis/)
我的队友是李云龙(团长),他是我的偶像,我一直喜欢他的电视剧《亮剑》。他跟电视剧中的任务不一样,他很细腻,他很博学,在结对编程中他很细心的帮我指出我代码的问题(尤其是代码格式和规范)。见下图:
左起李云龙,张明智
3 合作中的问题
由于性格不一样,我们之间会有争吵,甚至发生肢体接触,但是每次我们都能愉快的解决(打不过)。很荣幸我们能在一组。
在代码编写过程中,我们遇到很多问题,首先是编程软件,各自习惯都不一样;其次就是代码的格式,我们对于{}换不换行争议了很久,对于有强迫症的他,我只能选择屈服,然后等他走了我再改回来(我也有强迫症)。
4 总结
编程中,我们都习惯一个人编程,不喜欢交流,但是由于都看不惯,所以就是争吵。但是争吵就是交流的起步,慢慢的,我们开始交流,不要吵,吵解决不了问题,对不对?@团长
大家一起编程,一起进步。他会指出我编码时的代码规范,我会提示算法的效率和程序的维护。最后,由于时间紧我们没有完成后续的改进版和更新版。但是编程我们一直在路上。加油!