第二次结对编程作业

github 项目地址:https://github.com/SilentSamsara/fj-thirteen-water?tdsourcetag=s_pctim_aiomsg
本文博客地址:https://www.cnblogs.com/SilentSamsara/p/11768498.html
队友博客地址:https://www.cnblogs.com/stx735866712/p/11767058.html

具体分工

杨蓝宇:完成后端各个接口,出牌ai算法,前后端结合
孙庭鑫:完成前端界面

PSP表格

Personal Arrangement Personal Software Process Stages 预估耗时(分钟 ) 实际耗时(分钟)
Planning 计划 60 90
Estimate 估计这个任务需要多少时间 1500 1500
Developm 开发 0 0
Analysis 需求分析(包括学习新技术) 100 300
Design Spec 生成设计文档 0 0
Design Review 设计复审 0 0
Coding Standard 代码规范(为目前的开发制定合适的规范) 0 0
Design 具体设计 120 240
Coding 具体编码 1200 1200
Code Review 代码复审 0 0
Test 测试(自我测试,修改代码,提交修改) 100 100
Reporting 报告 60 60
Test Report 测试报告 10 10
Size Measurement 计算工作量 15 15
Postmortem & Process Improvement Plan 事后总结,并提出过程改进计划 30 30
总计 3545

解题思路描述与设计实现说明

网络接口的使用

编写一个自定义函数,输入为接口要求输入的数据 ,在函数内部将数据发送给接口,得到接口返回的结果并对其处理后作为自定义函数的返回。
以下是一个代码实例:

       public static String sendGet(String urlAddress,int x) {
		try {
			HttpURLConnection urlConnection=null;
			URL url=new URL(urlAddress);
			urlConnection=(HttpURLConnection)url.openConnection();
			urlConnection.setConnectTimeout(5000);
			urlConnection.setReadTimeout(5000);
			if(x==1)
			{
				urlConnection.addRequestProperty("Content-Type", "application/json");
				urlConnection.addRequestProperty("X-Auth-Token", Token);
			}
			urlConnection.setUseCaches(false);
			urlConnection.connect();
			
			BufferedReader bf=new BufferedReader(new InputStreamReader(urlConnection.getInputStream(),"UTF-8"));
			String line=bf.readLine();
			return line;
		}catch (Exception e) {
			System.out.println("sendGet error!");
		}
		return null;
	}

代码组织与内部实现设计(类图)

算法关键与关键实现部分流程图

关键代码解释

前端代码

        CardLayout cl;//卡片布局
        JPanel jpc;//主面板  其上将创建各个游戏界面面板
        public view() {
        jpc = new JPanel();//主面板
        cl = new CardLayout();//卡片管理器
        jpc.setLayout(cl);
        getContentPane().add(jpc);//主面板加到内容面板
//整个游戏界面的总体结构,之后的每一个界面都是一块块卡片面板,被加到总面板上。

后端代码

性能分析与改进

尝试用更少的组件更简单的布局实现效果,减少复杂度。

性能分析图

单元测试


测试数据来自于程序跑分时失败的例子

Github的代码签入记录

遇到的代码模块异常或结对困难及解决方法

问题描述

为了让游戏从始至终都是在一个窗体在运行,就需要考虑一个合适的结构来实现窗口内界面切换。

做过哪些尝试

尝试过各种组件,最后发现用卡片式布局可以解决这个问题

是否解决

有何收获

有问题就要多百度

评价你的队友

孙庭鑫:有蓝宇在就很放心,啥都默默地自己给做了,我就躺着就好了。
杨蓝宇:“队友真的顶,前端一口气写了1000+”

学习记录表

第N周 新增代码(行) 累计代码(行) 本周学习耗时(分钟) 重要成长
1 0 0 1260 Axure的掌握以及ps抠图的使用
2 0 0 1500 初步学习Java的基本语句语法,了解java的特点
3 1000 1000 1800 学习使用Java来编写gui,下好插件做好调试工作

原文地址:https://www.cnblogs.com/SilentSamsara/p/11768498.html