猜英文26个字母的WEB游戏,参照例题4-18
NewFile.jsp
<%@ page contentType="text/html;charset=utf-8"%>
<HTML>
<body>
从a-z中猜测一个字母,看看你要猜几次:
<%
String chars = "abcdefghijklmnopqrstuvwxyz";
int a=(int)(Math.random() * 26);
char cha=chars.charAt(a);
session.setAttribute("count",new Integer(-1));
session.setAttribute("save",new Character(cha));
%>
<br><A href="computer.jsp">去猜测这个字母</A>
</body>
</HTML>
computer.jsp
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ taglib tagdir="/WEB-INF/tags" prefix="guess" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Insert title here</title>
</head>
<body>
<%
String str=request.getParameter("guessnumber");
if(str==null||str.length()==0){
str="*";
}
%>
<guess:GuessTag number="<%=str %>"/>
当前猜测结果:<%=message %>
<%
if(message.startsWith("你猜对了")){
%>
<br><A HREF="NewFile.jsp">重新获得随机数</A>
<%
}
%>
<br>输入你的猜测:
<FORM action="" method="post" name="form">
<input type="text" name="guessnumber" />
<input type="submit" name="submit" value="提交"/>
</FORM>
</body>
</html>
Guess.tag
<%@ tag pageEncoding="utf-8"%>
<%@ attribute name="number" required="true" %>
<%@ variable name-given="message" scope="AT_END"%>
<%
String mess="";
Character integer=(Character)session.getAttribute("save");
Character realnumber=integer.charValue();
Character guessNumber='a';
boolean boo=true;
try{
guessNumber=number.charAt(0);
}
catch(Exception exp){
boo=false;
}
if(boo){
if(guessNumber==realnumber){
int n=((Integer)session.getAttribute("count")).intValue();
n=n+1;
session.setAttribute("count",new Integer(n));
mess="你猜对了,这是第"+n+"次猜测";
}
if(guessNumber>realnumber){
int n=((Integer)session.getAttribute("count")).intValue();
n=n+1;
session.setAttribute("count",new Integer(n));
mess="你猜大了,这是第"+n+"次猜测";
}
else if(guessNumber<realnumber){
int n=((Integer)session.getAttribute("count")).intValue();
n=n+1;
session.setAttribute("count",new Integer(n));
mess="你猜小了,这是第"+n+"次猜测";
}
else if(number.equals("你还没有开始猜测")){
mess="你还没有开始猜测";
}
jspContext.setAttribute("message",mess);
}
else {
jspContext.setAttribute("message","请输入你的猜测");
}
%>