第二次结对编程作业

匿名 (未验证) 提交于 2019-12-03 00:15:02

1.博客链接

刘御帆:


2.具体分工

刘御帆:

・UI和后端代码连接

许宏健:

・博客撰写

3.psp表格

PSP4.1

Personal Software
Process Stages

预估耗时(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
Improvement Plan

事后总结
并提出过程改进计划

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

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!