个人PSP(四则运算)
-
题目要求:能自动生成小学四则运算题目,且每一道题目的运算结果不能为负。除了支持整数运算外,还要支持真分数四则运算。
-
工具清单:
- Java,Js,Maven,Tomcat,MySQL
-
PSP表格
预计耗时(分钟) 实际耗时(分钟) Planning 计划 20 20 Estimate 估计这个任务需要多少时间 5 5 Development 开发 80 90 Analysis 需求分析 10 10 Design Spec 生成设计文档 / / Design Review 设计复审(和同事审核设计文档) / / Coding Standerd 代码规范(为目前的开发制定合适的规范) / / Design 具体设计 30 30 Coding 具体编码 100 100 Code Review 代码复审 10 15 Text 测试(自测,修改代码,提交修改) 20 20 Reporting 报告 20 20 Text Report 测试报告 10 10 Size Measurement 计算工作量 5 5 Postmortem & Process Improvement Plan 事后总结,并提出过程改进计划 5 5 Sum 合计 305 330 -
项目描述
web端实现注册,登录,登录后主界面及四则运算页面。用原生态Servlet与前端进行交互,以Tomcat作为服务端,MySQL对玩家成绩信息进行展示和存储。
-
主要代码说明
-
生成题目
for(var i = 0;i < oContent.length;i++){ Answer[i].style.backgroundColor = "white"; Answer[i].value = " " var add1 = parseInt(Math.random()*100)+1 var add2 = parseInt(Math.random()*100)+1 var ope = Math.round(Math.random()) var ope1 = Math.round(Math.random()) strs = oContent[i].innerHTML.split(" ") if(ope == 0 && ope1 ==0){ strs[1] = "+" } if(ope == 1 && ope1 ==0){ strs[1] = "-" } if (ope == 0 && ope1 ==1){ strs[1] = "*" } if (ope == 1 && ope1 ==1){ strs[1] = "/" } strs[0] = add1 strs[2] = add2 strs[3] = "=" oContent[i].innerText = strs[0]+" "+strs[1]+" "+strs[2]+" "+strs[3]+" "+strs[4]+" " }
-
校验答案
oBt1.onclick = function(){ var count = 0 for(var i = 0;i < oContent.length;i++){ strs = oContent[i].innerHTML.split(" ") Ans = Answer[i].value var add1 = strs[0] var operator = strs[1] var add2 = strs[2] if(operator == "+"){ if(Number(add1) + Number(add2) == Number(Ans)){ count++; }else{ Answer[i].style.backgroundColor = "red"; } } if(operator == "-"){ if(Number(add1) - Number(add2) == Number(Ans)){ count++; }else{ Answer[i].style.backgroundColor = "red"; } } if(operator == "*"){ if(Number(add1) * Number(add2) == Number(Ans)){ count++; }else{ Answer[i].style.backgroundColor = "red"; } } if(operator == "/"){ if(Math.round(Number(add1) / Number(add2)) == Math.round(Ans)){ count++; }else{ Answer[i].style.backgroundColor = "red"; } } } }
-
其他相关代码
-
-
整体流程说明
-
登陆界面
-
注册界面
-
主界面
通过统计Session个数,对半小时内在线人数进行统计
-
四则运算界面
- 网页端会记录玩家的答题秒数,写入数据库中进行存储
-
-
项目相关不足
-
题目的生成机制较为单一,只有简单的A [运算符] B的形式,在题目形式上可以加以改进
-
记录玩家数据并存入MySQL相关代码较为冗余,对SQL语句可进行优化
-