JSP猜数字小游戏
前些日子,jsp老师布置了用jsp写一个猜数字游戏的小任务。参考别人的代码写了第一个版本,之后又自己写了第二个版本。都发出来,有什么错误请指正。
第一种
1、index.jsp
<body>
<h1 align="center">猜数字游戏</h1><br>
<p style="display:block;text-align:center;" size="24">游戏会给出1-100间的随机数字,请猜出这个数字。您有10次机会。</p><br>
<form action="play.jsp">
<p style="display:block;text-align:center;"><input type="submit" value="开始游戏"/></p>
</form>
<%
int a=(int)(Math.random()*100+1);
session.setAttribute("number",a);
session.setAttribute("count", new Integer(0));
%>
</body>
2、play.jsp
<body>
<h2 align="center">请输入1-100之间的数</h2>
<form action="check.jsp" method=post>
<p style="display:block;text-align:center;"><input type="text" name="guess" /></p><br>
<p style="display:block;text-align:center;"><input type="submit" value="提交" onclick="ale()"/></p>
</form>
</body>
3、check.jsp
<body>
<%
int num1,num2=0,n;
Integer str1=(Integer)session.getAttribute("number");
Integer n1=(Integer)session.getAttribute("count");
String str2=request.getParameter("guess");
num1=Integer.valueOf(str1);
n=Integer.valueOf(n1);
if(str2!=null){
num2=Integer.parseInt(str2);
}
if(num1==num2){
session.setAttribute("count", new Integer(n));
out.print("猜对了,您一共猜了"+(n+1)+"次,<a href='index.jsp'>再玩一次</a>");
}
else if(num1>num2){
n+=1;
session.setAttribute("count", new Integer(n));
out.print("猜小了,<a href='play.jsp'>再猜一次</a>");
}
else if(num1<num2){
n+=1;
session.setAttribute("count", new Integer(n));
out.print("猜大了,<a href='play.jsp'>再猜一次</a>");
}
if(n==10){
%>
<script language="javascript" >
alert("游戏结束");
top.location='index.jsp';
</script>
<%
}
%>
</body>
第二种
1、index.jsp
<body>
<h1 align="center">猜数字游戏</h1><br>
<p style="display:block;text-align:center;" size="24">游戏会给出1-100间的随机数字,请猜出这个数字。您有10次机会。</p><br>
<form action="play.jsp">
<p style="display:block;text-align:center;"><input type="submit" value="开始游戏"/></p>
</form>
<%
int a=(int)(Math.random()*100+1);
session.setAttribute("number",a);
session.setAttribute("count", new Integer(0));
%>
</body>
2、play.jsp
<body>
<h2 align="center">请输入1-100之间的数</h2>
<form method="get">
<p style="display:block;text-align:center;"><input type="text" name="guess" id="g"/></p><br>
<p style="display:block;text-align:center;"><input type="submit" value="提交" onclick="ale()"/></p>
</form>
<%
int num1,num2=0,n;
Integer str1=(Integer)session.getAttribute("number");
Integer n1=(Integer)session.getAttribute("count");
String str2=request.getParameter("guess");
if(str2!=null){
num2=Integer.parseInt(str2);
}
num1=Integer.valueOf(str1);
n=Integer.valueOf(n1);
%>
<script type="text/javascript" >
var num1='<%=session.getAttribute("number")%>' ;
var n='<%=n+1%>';
function ale(){
var num2=document.getElementById("g").value;
if(num1==num2){
alert("猜对了!您一共猜了"+n+"次。再玩一次");
window.location.href='index.jsp';
window.event.returnValue=false;
}
else if(num1>num2){
alert("猜小了");
}
else if(num1<num2){
alert("猜大了");
}
if(n==10){
alert("游戏结束!")
window.location.href='index.jsp';
window.event.returnValue=false;
}
}
</script>
<%
n++;
session.setAttribute("count", n);
%>
</body>
第一种采用的是用一个页面当作提示信息,第二种则是js写的提示信息。