第二次结对编程作业
UI界面演示地址:https://pan.baidu.com/s/1j-4YANlzuI4SUGen-6y_og
github地址:https://github.com/simplipy/031702408/releases/tag/十三水
结对同学的博客链接:https://www.cnblogs.com/Jardinxin/p/11674165.html
本作业博客的链接:https://www.cnblogs.com/buddlysue/p/11681373.html
一、具体分工
||||||||||
|:--😐:--😐:--😐:--😐:--😐:--😐:--😐:--😐
||登陆注册|当前战况|排行榜|往期对战结果|详细历史战况|ai|交互|
|陈苏苏|√|√||||√|√||
|严欣|||√|√|√|√||
二、PSP表格
||||||
|:--😐:--😐:--😐:--😐
|PSP2.1|Personal Software Process Stages|预估耗时(分钟)|实际耗时(分钟)|
|Planning|计划|120|120|
|Estimate|估计这个任务需要多少时间|120|120|
|Development|开发|1090|2900|
|Analysis|需求分析(包括学习新技能)|540|600|
|Design Spec|生成设计文档|50|30|
|Design Review|设计复审|10|10|
|Coding Standard|代码规范 (为目前的开发制定合适的规范)|30|20|
|Design|具体设计|50|90|
|Coding|具体编码|1080|2000|
| Code Review|代码复审|120|100|
|Test|测试(自我测试,修改代码,提交修改)|30|50|
|Reporting|报告|50|60|
|Test Repor|测试报告|20|30|
|Size Measurement|计算工作量|10|10|
|Postmortem & Process Improvement Plan|事后总结, 并提出过程改进计划|20|20|
|||||
三、解题思路描述与设计实现说明
🎈1、网络接口的使用
(1)前端通过调用js文件来调用接口
(2)js文件使用Ajax定义事件,从前端获取数据后将数据传到服务端,并把服务端respond的数据返回,判断后产生弹窗提示

🎈2、代码组织与内部实现设计(类图)
| 函数名 | 作用 |
|---|---|
| Compare() | 对13张牌 的数值进行排序 |
| Count() | 遍历数组,将不同花色、数值的数量进行统计 |
| Sort() | 对手中的牌(排除特殊牌型之后)进行分类并记录 |
| Choose() | 从分类中的牌型中选出最佳底中上墩 |
🎈3、说明算法的关键与关键实现部分流程图

排除特殊牌型,普通牌型就是不断用判断同花色的个数、数值大小进行区分,计算同花色、同数值的个数,选择合适的出牌方式。
四、关键代码解释

主要实现的功能是类排序:通过compareTo的重写进行类排序。
五、性能分析与改进
改进的思路
由于时间不够我们没能写出可以正确排序的算法,但是大致的思路是先区分牌的花色、数值,按照数值大小进行排序,然后统计有多少同花色、有多少对子三条能组成多少普通牌型,按照大小分墩。前端方面,接口暂时实现了三个页面,历史详细战况还没能实现,需要再尝试。
展示性能分析图和程序中消耗最大的函数
六、单元测试:展示出项目部分单元测试代码,并说明测试的函数,构造测试数据的思路
示例一:针对特殊牌型(目的是测试能否识别特殊牌型)
输入: *6 *5 *9 &K &2 *3 $8 $9 &A &J *2 &7 $5
输出:
$5 $8 $9 ,
*2 *3 *5 *6 *9 ,
&2 &7 &J &K &A
示例二:常见牌型(目的是测试能否排序普通牌型)
输入:#2 $5 #K $8 #9 $3 $10 &4 $7 *4 #4 $J &K
输出:
#2 #9 $10 ,
$3 $5 $7 $8 $J ,
&4 #4 *4 #K &K
七、贴出Github的代码签入记录:请合理记录commit信息
陈苏苏

严欣

八、遇到的代码模块异常或结对困难及解决方法
🎈1、问题描述
(1)html学过但是css不会:写出来的页面都最原始最丑!
(2)交互问题:我们真的不会交互!真的不会!太痛苦了!从开始学习交互,我们经历了:不知道要怎么用接口 ——→ 和服务器连接不上 ——→ 从前端提取数据无法传到后端 **——→ ** 实现登陆注册交互(但其他还是无法使用)
(3)算法:牌面排序错误(可以对1~10的数字进行排序,但是J\Q\K\A无法实现排序,即使设置了值也没办法)
**🎈2、做过哪些尝试 **
(1)上网学css(感谢“菜鸟教程”很方便查css还可以顺便看html)
(2)请教大佬+上网查教程+自己摸索:我们问了同组的其他小队大佬们,大佬们很耐心的回答,还把代码借给我们看虽然我们看不懂。之后我们上网查找相关的资料,想看看别人是怎么交互怎么使用接口的,也尝试将别人的代码与自己的结合,加以修改企图能够连上服务器;最后苏苏经过不懈努力,夜以继日的尝试(夜以继日的崩溃),终于从查找到资料里学会了如何登陆注册交互。
(3)放弃
🎈3、是否解决
(1)解决
(2)解决
(3)暂时还没解决
🎈4、有何收获
(1)学会了一点点css,准备运用于自己的博客页面,很开心!还提高了审美,觉得自己很牛逼!
(2)学了一点js,ajax,知道了前后端交互的困难,知道了怎么使用接口帮助前端获取数据。
(3)懂得了:每天放弃一点点,生活才能更快乐 if else 很好用。
九、评价你的队友
## **🎈1、需要改进的地方** ### 作为不能熬夜的人,实名赞赏严欣真的能熬,对于界面也是很早就求完美,是一个细致的人。 ## **🎈2、需要改进的地方** ### 我们俩分工太不明确(其实也是我们能力不足,没办法做到“我的能力就足够完成这个”,所以很多时候都是两个人互相帮忙一起去查资料然后分享)十、学习进度条
| 第N周 | 新增代码(行) | 累计代码(行) | 本周学习耗时(小时) | 累计学习耗时(小时) | 重要成长 |
| 第3周 | 200 | 200 | 12 | 12 | 本周安装了Java运行环境,学习了Java的基本语法类,学会基本的axure rp9的操作 |
| 5 | 504 | 704 | 20 | 32 | 复习html,做了登陆,注册,开始界面,但还在修改 |
| 6 | 0 | 64 | 0 | 0 | 国庆放假、、、必然没学习 |
| 7 | 240 | 944 | 40 | 72 | 学习Ajax、json |

浙公网安备 33010602011771号