1.博客链接
刘御帆:
:
2.具体分工
刘御帆:
・UI和后端代码连接
许宏健:
・博客撰写
3.psp表格
PSP4.1 | Personal Software | 预估耗时(min) | 实际耗时(min) |
Planning | 计划 | 40 | 50 |
Estimate | 估计这个任务需要多少时间 | 10 | 10 |
Development | 开发 | 1800 | 2400 |
Analysis | 需求分析 | 800 | 1200 |
Design Spec | 生成设计文档 | 60 | 40 |
Design Review | 设计复审 | 30 | 20 |
Coding Standard | 代码规范 | 30 | 20 |
Design | 具体设计 | 80 | 100 |
Coding | 具体编码 | 1500 | 1500 |
Code Review | 代码复审 | 600 | 650 |
Test | 测试 | 120 | 300 |
Reporting | 报告 | 70 | 70 |
Test Report | 测试报告 | 20 | 20 |
Size Measurement | 计算工作量 | 10 | 10 |
Postmortem & Process | 事后总结 | 30 | 30 |
合计 | 5160 | 6360 |
4.解题思路描述与设计实现说明
4.1网络接口的使用
String response=Unirest.get("http://api.revth.com/history") .header("X-Auth-Token", token) .queryString("player_id",player_id) .queryString("limit",limit) .queryString("page",page) .asString() .getBody();
4.2代码组织与内部实现设计(类图)
本次做也大部分使用类与类之间的关联关系,较少使用泛华关系(继承),类图如下。
4.3算法的关键与关键实现部分流程图
5.关键代码解释
下面是代码展示的是从服务器得到牌之后将字符串转化为易处理的数据:
boolean findsantonhuashun(int a[][]) { int i,j,k,x; int flag1=0,flag2=0; for(i=0;i<4;i++) { x=0; for(j=1;j<=13;j++) { if(j==13)k=0; else k=j; if(a[i][k]==1) x++; if((a[i][k]==0 || j==13) && x==3) flag1++; else if((a[i][k]==0 || j==13) && x==5) flag2++; else if((a[i][k]==0 || j==13) && x==8) { flag1++; flag2++; } else if((a[i][k]==0 || j==13) && x==10) flag1+=2; else if((a[i][k]==0 || j==13) && x!=0)return false; } } if(flag1==1 && flag2==2)return true; else return false; }
②UI界面
UI界面有难度的的地方在于代码量大,还有切换页面上较为困难,最后我们选择通过制作弹窗的方式,下面代码展示的是登录按钮事件处理;
public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub String usrname = textField.getText(); String passwd = String.valueOf(passwordField.getPassword()); StartLogin login = new StartLogin(); login.login.setUsername(usrname); login.login.setPassword(passwd); if(login.startLogin()) { try { new Game(); dispose(); } catch (FileNotFoundException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } catch (JavaLayerException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } else { JOptionPane.showMessageDialog(null, login.re, "密码或用户名错误", JOptionPane.ERROR_MESSAGE); } }
7.单元测试
8.贴出Github的代码签入记录
9.遇到的代码模块异常或结对困难及解决方法
9.1问题描述
・不知道怎么使用http请求
・json复杂数据转换
9.2做过哪些尝试
・通过百度发现很多人推荐使用unirest-java这种包使用起来较为简单,但是需要用到maven项目管理方法才能正常使用,最后我通过询问java老师最终学会了如何使用maven。
・json解析我最终选择了gson这个jar包,在网上查找大量的例子和代码,最终学会了如何使用gson
9.3是否解决
两个问题都解决了
9.4有何收获
10.评价队友
11.学习进度条
第N周 | 新增代码(行) | 本周学习耗时(Сʱ) | 累计学习耗时(小时) |
1 | 400 | 9 | 9 |
2 | 1300 | 26 | 35 |
来源:博客园
作者:福大资深混子
链接:https://www.cnblogs.com/xhongj/p/11761110.html