第二次结对编程作业

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

张聪(本作业):https://www.cnblogs.com/zzccc/p/11768640.html

池九锡:https://www.cnblogs.com/juicy33/p/11768590.html

Github地址:https://github.com/Juicy33/13h2o

队友:https://github.com/zzccc777/031702515/

池九锡:负责前端和美工

张聪:负责后端

PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
Planning 计划 60 50
Estimate 估计这个任务需要多少时间 60 50
Development 开发 3600 4500
Analysis 需求分析 (包括学习新技术) 420 540
Design Spec 生成设计文档 60 60
Design Review 设计复审 30 40
Coding Standard 代码规范 (为目前的开发制定合适的规范) 30 20
Design 具体设计 360 400
Coding 具体编码 1440 2000
Code Review 代码复审 60 90
Test 测试(自我测试,修改代码,提交修改) 1200 1400
Reporting 报告 140 180
Test Report 测试报告 60 80
Size Measurement 计算工作量 20 20
Postmortem & Process Improvement Plan 事后总结, 并提出过程改进计划 60 80
合计 3800 4780

ajax内使用post请求:

$.ajax({ type: "POST", dataType: "json",  url: "http://api.revth.com/auth/register2",         data: JSON.stringify(reg_data), //提交的数据        contentType: "application/json;charset-UTF-8"  

ui:login.html``register.html``result.html``rank.html``found.html``play.html``record.html

ai:按牌面数字大小排序-->比较花色,牌型-->判断各各牌型的函数-->主函数调用生成三组墩牌。

参数是数组,返回值为包含该牌型的所有组合

判断在该组合下于剩下的牌组中

选择牌型最最好的函数

从牌组中删去组合的函数

function changeData(data){     var pai=new Array();     var num=0;     for(var i=0;;){         if(data[i+1]=='A')data[i+1]='>';         if(data[i+1]=='J')data[i+1]=";";         if(data[i+1]=='Q')data[i+1]='<';         if(data[i+1]=='K')data[i+1]='=';         for(var j=0;j<4;j++){             if(data[i]=="$"&&data[i+1]=='1'&&data[i+2]=='0'){                 pai[num]=32;                 num+=1;                 i+=4;                 break;             }else if(data[i]=="&"&&data[i+1]=='1'&&data[i+2]=='0'){                 pai[num]=33;                 num+=1;                 i+=4;                 break;             }else if(data[i]=="*"&&data[i+1]=='1'&&data[i+2]=='0'){                 pai[num]=34;                 num+=1;                 i+=4;                 break;             }else if(data[i]=="#"&&data[i+1]=='1'&&data[i+2]=='0'){                 pai[num]=35;                 num+=1;                 i+=4;                 break;             }else if(data[i]=="$"){                 if(data[i+1]=='A')pai[num]=48;                 else if(data[i+1]=='J')pai[num]=36;                 else if(data[i+1]=='Q')pai[num]=40;                 else if(data[i+1]=='K')pai[num]=44;                 else pai[num]=(data[i+1]-2-'0')*4;                 num+=1;                 i+=3;                 break;             }else if(data[i]=="&"){                 if(data[i+1]=='A')pai[num]=49;                 else if(data[i+1]=='J')pai[num]=37;                 else if(data[i+1]=='Q')pai[num]=41;                 else if(data[i+1]=='K')pai[num]=45;                 else pai[num]=(data[i+1]-2-'0')*4+1;                 num+=1;                 i+=3;                 break;             }else if(data[i]=="*"){                 if(data[i+1]=='A')pai[num]=50;                 else if(data[i+1]=='J')pai[num]=38;                 else if(data[i+1]=='Q')pai[num]=42;                 else if(data[i+1]=='K')pai[num]=46;                 else pai[num]=(data[i+1]-2-'0')*4+2;                 num+=1;                 i+=3;                 break;             }else if(data[i]=="#"){                 if(data[i+1]=='A')pai[num]=51;                 else if(data[i+1]=='J')pai[num]=39;                 else if(data[i+1]=='Q')pai[num]=43;                 else if(data[i+1]=='K')pai[num]=47;                 else pai[num]=(data[i+1]-2-'0')*4+3;                 num+=1;                 i+=3;                 break;             }         }         if(num==13)break;     }     return pai;

所有函数的判别基础,接下来的步骤都会用到它。

在html5中整合进了后端代码,虽然方便衔接和打包,但是运行起来速度受到了影响,性能分析也不便进行。。

如果有时间可能还是会进行前后端分离,另外前端的文件架构相当松散(打包完了也看不见就是了

无法使用jprofiler,那么就光明正大的摸鱼。

for (int i = 0; i < 10; i++){
List<Card> tempCards = new ArrayList<>();
List<Card> cards = new ArrayList<>();
tempCards.addAll(allCards);
for (int j = 0; j < 13; j++){
Card card = tempCards.get(random.nextInt(52 - j));
cards.add(card);
tempCards.remove(card);
}
String cardStr = "";
for (int j = 0; j < 13; j++){
Card card = cards.get(j);
cardStr += card.toString();
if (j < 12)
cardStr += " ";
}
JSONObject jsonObject = new JSONObject();
try {
jsonObject.put("id",0);
jsonObject.put("card",cardStr);
} catch (JSONException e) {
e.printStackTrace();
}
System.out.println(cardController.card2(jsonObject.toString()));;
}
}

随机构造了13张牌进行分析,打印出结果观察。

  • 代码模块异常:谷歌连接API的时候会拦截非同ip的跨域请求。
    结对困难:没有!配合完美无瑕天衣无缝浑然天成!
  • stackoverflow上一顿翻。
  • 问了多位大佬。
  • 已通过禁用谷歌的安全机制解决。
  • api的使用方法
  • 前端的架构
  • electron框架的使用方法

聪哥是什么神仙宝藏男孩啊!爱了爱了!我360度原地旋转爆炸排卵!(聪哥:口区

第N周 新增代码(行) 累计代码(行) 本周学习耗时(小时) 累计学习耗时(小时) 重要成长
1 0 0 7.6 7.6 Axure9的使用
2 200 200 22 29.6 决定开发框架和架构
3 996 1196 21 50.6 学习electron,coding
4 400 1596 28 78.6 debug
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!