第二次结对编程作业

“福建赌王”之争


链接队友的博客
链接 此次作业博客
链接 GitHub地址

  • 具体分工

UI部分:由我的大腿队友沈国煜负责。
AI部分:由拖队友后腿的林铮威负责。

  • PSP

    PSP2.1 Personal SoftwareProcess Stages 预估耗时(分钟) 实际耗时(分钟)
    Planning 计划 30 40
    · Estimate · 估计这个任务需要多少时间 2000 2800
    Development 开发 1000 720
    · Analysis · 需求分析 (包括学习新技术) 60 30
    · Design Spec · 生成设计文档 30 30
    · Design Review · 设计复审 60 40
    · Coding Standard · 代码规范
    (为目前的开发制定合适的规范)
    30 15
    · Design · 具体设计 60 40
    · Coding · 具体编码 600 432
    · Code Review · 代码复审 180 144
    · Test · 测试(自我测试,修改代码,提交修改) 120 80
    Reporting 报告 30 30
    · Test Repor · 测试报告 40 30
    · Size Measurement · 计算工作量 15 45
    · Postmortem & Process
    Improvement Plan
    · 事后总结, 并提出过程改进计划 45 30
    · 合计 4300 4560
  • 解题思路描述与设计实现说明

  1. 网络接口的使用:
  • ...
  1. 代码组织与内部实现设计:
  • ...
  1. 算法的关键:
  • 权值比对:
  • 每位玩家的手牌有13张,于是每个人的手牌一共有13的阶乘(13 x 12 x 11 x……1)这么多种的排列方式。我的想法便是把所有的排列方式储存起来,然后前3张就是前墩,中间的5张就是中墩,最后的5张就是后墩。通过对十三水每种牌型进行设置权值,紧接着对每种排列的前中后墩判断,通过每一墩的牌型,得到他们的权值,计算一下手牌的权值总和,那么,13!种的排列中权值最大的就是赢面最大的牌。
  • 关键代码解释
    权值判断:以同花顺与炸弹为例

    通过对十三水每种牌型进行设置权值,紧接着对每种排列的前中后墩判断,通过每一墩的牌型,得到他们的权值,计算一下手牌的权值总和

  • 性能分析与改进

  • 单元测试

  • Github的代码签入记录

  • 遇到的问题及解决方法

遇到的问题
刚开始接触题目的迷茫,我的天(这什么魔鬼题目...),对于十三水这个游戏毫无了解,以及对于这个作业如何完成感到无助。
做出的尝试
与队友一起叫上舍友,打了一晚上紧张刺激的十三水,对于游戏的了解程度大大加深。
对于作业的完成在与队友的讨论过后,明确分工队友负责UI部分,我负责AI部分,并且在网上寻找一些资料进行相关的学习了解。
是否解决:已解决
有何收获
收获颇丰,实践出真知,与其说把十三水的规则看个十遍百遍,不如来一局紧张刺激的宿舍实战。通过实践
学习知识是最快的捷径!

  • 评价你的队友

值得学习的地方
队友清晰的逻辑思维是我所缺少的,我觉得应该向他学习一下如何保持清晰的逻辑思维,不论是在开发或者是在设计的时候都有很大的作用。
需要改进的地方
我的队友别名又叫沈波,原因就是他讲话比较抽象,经常讲一些抽象话,所以平时可能会有时候不能够顺利理解队友的思维想法。

  • 学习进度条

    第N周 新增代码(行) 累计代码(行) 本周学习耗时(小时) 累计学习耗时(小时) 重要成长
    1 0 0 240 240 初步掌握Axure Rp的用法
    2 678 678 1140 1380 构思完成AI算法
 posted on 2019-10-15 21:46  ----------  阅读(38)  评论(0编辑  收藏  举报