结对编程作业
姓名 | 分工 | 博客连接 |
---|---|---|
陈本源 | 原型设计(UI),游戏逻辑编程 | https://www.cnblogs.com/a820845164/p/15452045.html |
黄艇淞 | 前端界面,AI算法, | https://www.cnblogs.com/paulncle/p/15456180.html |
一、原型设计
- 登录界面的设计,用户通过输入账号密码进行登录,进入主界面
- 主界面设计--较为简单,主要提供了三个模块分别为:人机对战,人人对战,在线对战,进行游戏模式的选择
- 人机对战
- 人人对战
- 在线对战
- 对战界面如下
1 设计说明
本次原型设计采用墨刀进行设计,第一次接触该软件,不是太熟悉,学习了之后计划本次原型设计的主要内容主要包括一下几点:
2.遇到的困难及解决方法
困难描述
解决过程
有何收获
二、原型设计实现
2.1代码实现思路
login函数实现登录功能:
-----------------人人对战类-----------------:
-----------------人机对战类------------------:
--------------------登录---------------------:
--------------------主函数--------------------:
AI:
本次作业主要用来python自带的pygame,运用了大量pygame的方法,python似乎不是很适合写游戏,页面交互效果不是很好,跑的也挺慢。
贴出Github的代码签入记录,合理记录commit信息。
遇到的代码模块异常或结对困难及解决方法。
困难描述:在实现人人对战和人机对战的时候,出现游戏逻辑异常,无法吃牌的问题,在线对战和托管功能没有完成,很遗憾
解决过程:通过修改class qipai,进行解决;
有何收获:增强了算法分析与写算法的能力。
评价你的队友
致黄艇淞:
值得学习的地方:很辛苦,很劳累,一直在学习,在我原型设计完后开始前端界面的完成,后面人机对战AI的完成也很出色
需要改进的地方:AI的实现可能强度上还是有不足,但新学的东西马上实践也是相当不错了
致陈本源
值得学习的地方:原型设计的很快,也较为美观,UI设计后确实有一个app的感觉,很有创作理念,对算法的理解比较到位,能较快捕获题目意思进行算法编写。
需要改进的地方:在算法编写的过程中,出现了游戏功能缺失的情况,后续经过较长时间测试才找到问题所在。
学习进度表
第N周 | 新增代码(行) | 累计代码(行) | 本周学习耗时(小时) | 累计学习耗时(小时) | 重要成长 |
---|---|---|---|---|---|
1 | 0 | 0 | 10 | 10 | 学习了javascript的初步使用 |
2 | 0 | 0 | 10 | 20 | 进行了原型设计和ui设计 |
3 | 400 | 400 | 10 | 30 | 重新学习了pygame,实现登录接口 |
4 | 250 | 650 | 20 | 50 | 编写ai,实现了人人对战和人机对战 |
三、心得
陈本源:
一开始看到这个作业之后搜索了一下和队友打算学习一下javacript来实现这个游戏,一开始在第一周倒是进行的比较顺利,原型设计和ui做的比较快,本来以为就会这样顺风顺水的发展下去然后做出我们人生中的第一个游戏,何曾想接下来的两周其他课程的作业多了起来,我们对于js的学习进度也就此停滞。结果到了最后一周眼看着ddl来临,和队友紧急商量后还是决定用python的pygame来实现。这个时候基本上已经是抱着能完成多少就做多少的心态来做了,所以在前期定好分工和制定计划是非常重要的。最后和队友熬了几个大夜实现了游戏逻辑,在他做完ai和前端后赶出来了游戏。最后没能够实现在线对战是一个遗憾,希望可以在后面找时间和队友一起把他完成吧,毕竟是我们人生中第一个一起开发的软件,还是很有意义的。我觉得这次没能学习完新的技术很遗憾,我觉得这就是软工实践这门课的意义,驱动着我们去不断地学习,不管是学过的还是没学过的。希望未来可以好好努力!
黄艇淞:
这次的作业对于我们两个非cs专业的学生来说,真是难度较大,毕竟作为大数据的学生coding经验和能力相比于计算机的同学还是比较欠缺的。这次实践和队友一开始准备学一些javascript的知识,无奈由于其他课程的无数个ddl扑面而来也没能腾出时间将这方面技术学习到一个足够开发出猪尾巴的水平,这也导致了一开始用js基础写的部分内容直接作废了。商量过后只能回归到python用pygame来开发,这下时间就较为紧迫了,这也是一开始计划指定不够具体导致的。到最后只能做出一个比较粗糙的前端和ai出来,最后赶工做出来了人机对战和人人对战,在线对战来不及实现了,后续会找时间把他做完的。最后还是得到了一个不尽如人意的结果吧。这也启发我接下来还是得努力学习一些其他方面的技术,防止以后像这次一样。一开始对新技术的学习还是不够上心,觉得自己能用python写一些东西出来就够了,结果现实给了我狠狠的一巴掌,希望自己可以牢记这次的教训,下次不要以ddl作为驱动力了,一接到任务就开始学习相应的技术。不得不说,选择了柯老师的软工实践虽然是痛苦,但是可以让我实实在在的认识到自己的不足,希望这次结对结束后自己可以更加努力地提升自己的能力吧。