结队编程作业
https://github.com/ZekiChan/pig_tail
姓名 | 分工 |
---|---|
陈祉镪 | 原型设计,代码编写 |
庄婉苹 | 原型设计,博客编写 |
一、原型设计
1.1原型作品链接
https://f20heo.axshare.com/#id=l3lg3e&p=首页
https://modao.cc/app/27fd1c848ef549a309ba1ad31811c5b25ee75dca (废弃稿)
1.2采用的原型开发工具
Axure
1.3具体的截图
“首页”,即进入游戏页面,可以选择进入“开始游戏”页面与“游戏规则”页面。
“开始游戏”,开始游戏,可以选择点击人机对战、双人对战或联机对战,进入“对战页面”,点击返回按钮回到“首页”页面。
“游戏规则”,查看本游戏的游戏规则与取胜方法,点击返回回到“首页”页面。
“对战页面”,进行游戏对战,此页面兼容人机对战、双人对战与联机对战,对战过程中无法放弃游戏,游戏结束自动进入“对战结束”页面;
此页面包括左上方的记牌器(记录牌库中的、对手手中的、放置区的不同花色的牌数)、右上方的牌库(点击即可抽牌)与放置区(放置区显示牌顶花色)、下方的手牌区域(显示你的手牌剩余的不同花色的牌数)
结算界面
1.4遇到的困难和解决办法
遇到的困难 | 解决办法 |
---|---|
对于原型设计使用的工具发生分歧 | 做出两份原型设计 |
对原型设计中的交互功能的实现遇到困难 | 善于运用搜索引擎,获得前人的指导 |
做了两份原型,一份使用墨刀,一份使用Axure,需要做出选择 | Axure更加专业,代码负责人陈同学对于实现自己的作品更加熟悉 |
按钮无法互动 | 图片覆盖按钮,调整图片与按钮间的位置 |
收获
学会了使用原型开发软件,从需求分析到页面的设计,最后完成原型设计,体验了一次完整的原型开发过程,对开发软件的使用也更加熟练了。
二、原型设计实现
2.1代码实现思路:
接口的实现
时间限制,没能完成接口的调用。
代码组织与内部实现设计(类图)
说明算法的关键与关键实现部分流程图
贴出你认为重要的/有价值的代码片段,并解释
最重要的代码片段是出牌判定/抽牌判定
性能分析与改进
描述你改进的思路
减少代码中过多重复的片段,将部分重复的判断通过函数调用来实现。
展示性能分析图和程序中消耗最大的函数
展示出项目部分单元测试代码,并说明测试的函数,构造测试数据的思路
无单元测试
2.2Github签入记录
2.3遇到的代码模块异常或结对困难及解决方法
遇到的困难
没有事先进行模块化设计,导致写代码时很杂乱,面向结果式地打代码,往往第二天看前一天的代码时要看很久才能看懂。
解决办法
加注释,并分割各个不同区域的代码,虽然导致代码的长度成倍增加,但能较容易地一步一步地接着之前的代码往下编写
收获
写代码前一定要先进行流程设计!!!
写代码前一定要先进行流程设计!!!
写代码前一定要先进行流程设计!!!
2.4对队友的评价
to 陈祉镪
值得学习的地方
非常优秀,代码部分一力担下,有非常强大的执行力,和ddl驱动型的我形成鲜明对比。
需要改进的地方
团队间的沟通不太好
to 庄婉苹
值得学习的地方
很积极主动地事先开始进行原型设计和python的学习。
需要改进的地方
队友间的沟通没有做好,没有事先进行团队分工,导致做了许多重复的事,影响了后面做其他任务的时间。
2.5
程序设计进度条
第N周 | 新增代码(行) | 累计代码(行) | 本周学习耗时(小时) | 累计学习耗时(小时) | 重要成长 |
---|---|---|---|---|---|
1 | 0 | 0 | 30 | 30 | 学习了如何进行原型设计,学习了axure rp9的使用,初步设计原型 |
2 | 0 | 0 | 35 | 65 | 深入学习python,学习pycharm的使用,pygame库的调用 |
3 | 300+ | 300+ | 25 | 90 | 基本的UI框架搭建 |
4 | 300+ | 699 | 20 | 110 | 游戏主体的代码编写 |
PSP
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | ||
· Estimate | · 估计这个任务需要多少时间 | 30 | 20 |
Development | 开发 | ||
· Analysis | · 需求分析 (包括学习新技术) | 2000 | 3600 |
· Design Spec | · 生成设计文档 | 10 | 10 |
· Design Review | · 设计复审 | 10 | 10 |
· Coding Standard | · 代码规范 (为目前的开发制定合适的规范) | 5 | 5 |
· Design | · 具体设计 | 60 | 120 |
· Coding | · 具体编码 | 3000 | 2700 |
· Code Review | · 代码复审 | 60 | 240 |
· Test | · 测试(自我测试,修改代码,提交修改) | 60 | 120 |
Reporting | 报告 | ||
· Test Repor | · 测试报告 | 20 | 10 |
· Size Measurement | · 计算工作量 | 30 | 45 |
· Postmortem & Process Improvement Plan | · 事后总结, 并提出过程改进计划 | 10 | 20 |
· 合计 | 5355 | 7020 |
三、心得
陈祉镪
作业难度:
作业难度感觉还可以,就是学习python和学习使用pycharm、Axure RP原型制作等花费了太多的时间,导致后面没时间做其他的功能。
作业感想:
一句话:python天下第一。
比起c语言,python的开发真的简练而且舒适,可调用的库也是巨多。
对之后学习的启发:
关爱生命,拒绝ddl驱动。
再也不想在提交作业的前一天凹代码了(脖子疼)
庄婉苹
通过这次的结对作业,认识到自己的很多不足:
喜欢把作业拖到ddl再开始动手做,自己一个人的作业还好,放在团队中,拖累了团队的队友,拉慢了整个团队的进度。
团队的间的交流也很重要,但是总是处于一种被动沟通的状态。导致团队间的沟通缺失。