JSP 习题4-6

这是一个使用JSP实现的猜字母游戏,玩家需要猜测从a到z的随机字母。游戏中,NewFile.jsp生成随机字母并设置session,computer.jsp接收玩家输入并调用Guess.tag进行判断,Guess.tag处理猜测逻辑并更新消息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

猜英文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","请输入你的猜测");
}
%>
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值