本次配对实验中,我的队员是王新亮同学,他的博客是http://www.cnblogs.com/wangxinliang/

组员介绍:

我的结对成员是王新亮同学,他性格踏实稳重,认真勤恳,脾气非常温和。我们作为一个组,很多问题需要面对面交流,所以我们选择了图书馆咖啡馆这样一个好地方来商讨这个程序,比如到底用什么编写语言,用户界面的呈现等等。每次当程序出现问题的时候,他从来不会发火,更不会骂脏话,而是勤勤恳恳、孜孜不倦的进行改正,所以对于王新亮同学的良好的教养和认真的工作态度,我一定要给满分。

分工及编程习惯:

在编写程序过程中,我们一直是互相商量的,一开始我们觉得这个题目涉及到服务器的话,两个人都知之甚少,可如果用单机实现的话,难度就大大降低了,所以,我们都选择了单机来实现这个游戏。王新亮因为熟悉JS语言,我相对比较陌生,所以他是主要编程的,我只是起了一个辅助的作用,做了一些力所能及的事情,比如在前期对这个程序的功能进行分块,然后对程序进行测试,设计一个简洁明了的界面,也算是边看边学。我觉得,王新亮的编程还是很简洁的,但是代码规范上还是稍有欠缺,我们两个都犯了理想主义的毛病,在大体的编程框架上是没错的,就是在实际上的编程过程中出现了很多很多的错误。最后是我们的界面,经过了多次修正,我觉得我们界面还是比较赏心悦目的,这也是编译软件本身的特点,我常用的VC++6.0的界面就是单一的,呈现不出来网页那种界面友好的感觉。

编程过程及错误分析:

我们首先是打算用C语言来写这个程序的,毕竟C语言两个人都熟悉,但是编写过程中发现,一个是动态数组的问题不太好处理,另一个是界面只有一个,后一个玩家会看到前一个玩家的数字,这样就不是很符合游戏规则了,所以,我们改用JS来写,因为JS我学的不多,所以多亏了王新亮同学耐心解释。

我们解决的第一个问题,让第一个人输入数字之后,第二个人无法看见他输入的数字,从而使玩家无法根据前一个人的数字来输入数字从而避免丢分,因为C语言的界面问题,所以选择用JS来编译,就是加密前一个数字,使之后的玩家无法窥察前面的玩家输入了什么数字,保证了游戏的正规性。

解决的第二个问题,程序编辑完之后,界面运行失败了,输入之后的界面没法出现结果。黄金点本身的求法并不难,困难的是用按钮来调用函数,输入数字之后好像数字根本没有进入程序一样,点按钮根本没反应,结果发现时数组定义了两次,导致程序不能正常运行。

解决的第三个问题是最大值和最小值问题,假设两个人数字一样,最后一个人会被判定为最大值,导致有多个玩家输入相同数字的时候,赢家只有一个,解决方法是在数组里再找一遍和最大相等的存起来,这样就允许了同时给多个赢家加分。

解决的第四个问题是给用户一个数字范围,我在调试过程中发现,输入字母的话,程序出现的结果每个人都是零分,解决途径是在输入数字之后,添加一个判断条件,如果玩家输入数字超范围了,程序就会弹出个警告提醒用户输入数字是在1-99之间的有理数。

解决的第五个问题是数字的类型转换,在程序写完以后,出了一个大bug,界面没问题,程序也能运行,看上去很完美,然而出现的结果笔算一下是错的,后来才发现输入的数字是字符型,相加之后全错了,最后进行了强制类型转换才出现了正常结果。

总结和体会

在这两个礼拜的结对编程项目中,我受益颇多,不仅懂得了很多有用的网页的知识,还收获了珍贵的友谊。在这次实验过程中我发现了结对编程的很多好处,自己一个人需要思考很长时间也不见得会有进展的问题,很可能别人很给你灵感,脑海中灵光一现,就把问题解决了。而且人多力量大,两个人结对不仅节约了时间,而且也最大限度的提高了效率,同时锻炼了自己的思考能力和动手能力。非常感谢王新亮同学对我的耐心讲解,正是通过黄金点游戏这个程序的设计,加强了我思考问题的完整性,发现了把理论联系实际生活联系的可行性,把一组代码变成可以运行的游戏很神奇也很辛苦,我非常享受这种钻研开发的过程。正所谓男女搭配,干活不累,就说明了两个人性格的互补是多么重要,故步自封只能让自己的眼界越来越窄,在两个人交流思想的过程中,懂得更多的东西,这才是最大的收获。

以下是运行界面图:

输入参与人数:

按完成输出结果

总分1+2+4+5+76+98+23+13+46+56=324

平均分(324/10)*0.618=20.0232

第7位玩家最靠近20.0232,所以加十分。

第六位玩家最远离20.0232,所以减二分

所以运行结果正确,按下一轮可以继续。

以下是工作照片:

转载于:https://www.cnblogs.com/dengxiuyue/p/5367792.html

第四次作业 结对编程-黄金点游戏相关推荐

  1. 结对编程-黄金点游戏之旅[二]

    项目结构: 前端页面结构及样式和动画设计 登陆(10.14完成) 注册(10.14完成) 主游戏页(10.15完成) ajax回调函数处理以及页面渲染 请求当前房间游戏用户列表返回json数据处理(1 ...

  2. 结对编程-黄金点游戏

    一.项目描述:黄金点游戏 黄金点游戏是一个数字小游戏,其游戏规则是: N个同学(N通常大于10),每人写一个0-100之间的有理数 (不包括0或100),交给裁判,裁判算出所有数字的平均值,然后乘以0 ...

  3. 结对编程 黄金点游戏

    一.实现功能: 10个玩家同时游戏,系统根据规则计算出G值,并且给相应玩家分数,游戏可以进行多轮,由玩家自行控制,每一轮的分数都会累计下来除非重新开始 二. 设计过程: 最开始打算用b/s来做这个游戏 ...

  4. ASE第三次作业——结对编程

    ASE第三次作业--结对编程 成员:张贺 杨涛 石恩升 github地址:https://github.com/ThomasMrY/ASE-project-MSRA 题目简介: 此次编程的题目是--统 ...

  5. 罗杰软工第三次作业——结对编程

    BUAA-2023软件工程结对编程博客作业 项目 这个作业属于哪个课程 2023北航敏捷软件工程 这个作业的要求在哪里 结对项目-最长英语单词链 我在这个课程的目标是 学习并实践软件工程开发的方法论. ...

  6. 20172303 20172322 2017-2018-2 暑假作业 结对编程项目-舒尔特方格(及获小黄衫感想)...

    20172303 20172322 2017-2018-2 暑假作业 结对编程项目-舒尔特方格(及获小黄衫感想) 项目介绍 结对伙伴 姓名:张昊然 学号:20172322 舒尔特方格简介 舒尔特方格是 ...

  7. 第三次作业-结对编程

    Github项目地址:https://github.com/WHYNOTEN/WordCount.git 合作同学作业地址:https://www.cnblogs.com/Mchandu/p/1065 ...

  8. 现代软件工程 作业 结对编程 模板

    [现代软件工程作业汇总] 技术要求部分 请看以前的各项结对作业的技术要求,例如(电梯调度,四则运算,数独,地铁出行,黄金点游戏) 博客要求部分 1)在博客开头给出作业要求的博客链接, 你们项目的Git ...

  9. [2022软工第三次作业]结对编程项目——最长英语单词链

    项目 内容 本作业所属课程 2022年北航敏捷软件工程教学实践 本作业要求 结对编程项目-最长英语单词链 个人课程目标 学习到软件工程的方法论,了解整个过程,并进行亲自实践 本作业在哪个具体方面帮助我 ...

最新文章

  1. pytorch 计算相似度,相关系数
  2. @RequestBody、@RequestParam、@Param 的详解
  3. ❤『知识集锦』一文搞懂mysql索引!!(建议收藏)
  4. Java成员方法的声明和调用
  5. PyQt5入门——QListWidget实现图片缩略图列表
  6. JS 数组和 Java 数组的区别
  7. 简易云在线人事管理系统
  8. 在PADS中如何导出PCB封装库
  9. js读取excel文件
  10. macos复制粘贴快捷键 快速_Mac复制粘贴快捷键怎么修改 Mac复制粘贴快捷键修改步骤...
  11. mysql 统计新增用户_Mysql 查询:统计某月每日新增用户在新增当天的充值笔数、当天新增用户充值的总人数和充值总金额...
  12. 解决阿里云轻量应用服务器不能安装应用
  13. PHP GD库文字生成图片及图片拼接
  14. 开始绘制立体图形立方体正四面体
  15. 使用python求解特征值与特征向量
  16. 广义表C/C++实现详解
  17. 某银行存储瘫痪、缺失6个小时数据,只能人工补录
  18. 一款公历转农历节气以及天干地支的js代码
  19. 视觉感知——深度学习之YOLOv3算法
  20. 通往财富自由之路详细笔记(17)

热门文章

  1. vue中如何加入横线_在word文档中如何快速添加页眉横线和删除页眉横线?
  2. linux shell let命令,shell编程中的let与(())
  3. c语言测试代码怎么写,初学C语言,写了一个测试手速的工具,代码发上来,存着。。...
  4. tp5查询字段相加_tp5 sum某个字段相加得到总数的例子
  5. 【 C 】assert.h 简明介绍
  6. FPGA开发之RAM IP的使用
  7. PCIE4.0 简单介绍
  8. 一、typescript介绍和安装
  9. 维基解密揭秘CIA五种恶意软件用法
  10. 查看Android API文档的正确方式