张聪(本作业):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 |
来源:博客园
作者:Z聪
链接:https://www.cnblogs.com/zzccc/p/11768640.html