• 第二次结对编程作业


    第二次结对编程作业

    “福建赌王”之争


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


    链接 UI展示地址

    由于时间比较仓促,UI视频是网盘链接的形式上传,如果造成不便还请多多包含呀


    • 具体分工

    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
    • 解题思路描述与设计实现说明

    • 网络接口的使用:

    使用Python的requests库发送请求,获取数据解析数据

    • 代码组织与内部实现设计:

    分为UI和出牌算法两部分,使用python的pygame库编写控件实现UI

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

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

    • 性能分析与改进

    • Github的代码签入记录

    106d Update README.md

    0a71 Merge branch

    ff3e Initial commit

    1dea add card order

    084c add widget

    6e36 Fix unknown Boolean parameter confusion

    a62a add res

    3ec7 add .ignore

    1e13 add requests

    57af add img load

    • 遇到的问题及解决方法

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

    • 评价你的队友

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

    • 学习进度条

      第N周 新增代码(行) 累计代码(行) 本周学习耗时(小时) 累计学习耗时(小时) 重要成长
      1 0 0 240 240 初步掌握Axure Rp的用法
      2 678 678 1140 1380 构思完成AI算法
  • 相关阅读:
    别再为了this发愁了:JS中的this机制
    专为控制打印设计的CSS样式
    怎样用纯HTML和CSS更改默认的上传文件按钮样式
    将HTML转成XHTML并清除一些无用的标签和属性
    JavaScript中textRange对象使用方法总结
    DIV+CSS规范命名集合
    JS条件判断
    CSS只是进化的一部分
    25 个超棒的 HTML5 & JavaScript 游戏引擎开发库
    开发一个完整的JavaScript组件
  • 原文地址:https://www.cnblogs.com/weicnblogs/p/11681750.html
Copyright © 2020-2023  润新知