用jsp编写一个猜26个小写英文字母的web小游戏

本文档展示了如何使用jsp编程实现一个简单的猜字母游戏。玩家需猜一个由系统随机生成的26个英文字母之一,通过guess.jsp页面输入猜测并进行比较。游戏逻辑在tag计算页面中实现。

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

在这里插入图片描述
ex6.jsp页面代码

<%@ page contentType="text/html;charset=GB2312" %>
<HTML>
<BODY >
<% 
   session.setAttribute("message","请您猜字母");
   char a[]=new char[26];
   int m=0;
   for(char c='a';c<='z';c++)
   {  a[m]=c;
      m++;
   }
   int randomIndex=(int)(Math.random()*a.length);      
   char ch=a[randomIndex];     //获取一个英文字母
   session.setAttribute("savedLetter",new Character(ch));
   session.setAttribute("count",new Integer(0));
%>
访问或刷新该页面可以随机得到一个英文字母.
<BR>单击超链接去猜出这个字母:<A href="guess.jsp">去猜字母</A>
</BODY>
</HTML>

在这里插入图片描述
guess.jsp页面代码

<%@ page contentType="text/html;charset=GB2312" %>
<%@ taglib tagdir="/WEB-INF/tags" prefix="guess"%>
<HTML><BODY>
<%   String str=request.getParameter("clientGuessLetter");
     if(str==null) 
      { str="*";
      }
     if(str.length()==0)
      { str="*";
      }
%>
 <guess:GuessLetter guessLetter="<%=str%>" />
 当前猜测结果:<%=message%>
<% if(message.startsWith("您猜对了"))
   {
%>   <br><A HREF="ex6.jsp">重新获得一个字母</A> 
<% }
   else
   {
 %> <BR>输入您的猜测:
    <FORM action="" method="post" name=form>
       <INPUT type="text" name="clientGuessLetter" > 
       <INPUT TYPE="submit" value="送出" name="submit">
    </FORM>
<% }
%>
</FONT>
</BODY>
</HTML>

tag计算页面代码

<%@ tag pageEncoding="GB2312" %>
<%@ attribute name="guessLetter" required="true" %>  
<%@ variable name-given="message" scope="AT_END" %>
 <% String mess="";
    Character ch=(Character)session.getAttribute("savedLetter");
    char realLetter=ch.charValue();
    char c=(guessLetter.trim()).charAt(0);
    if(c<='z'&&c>='a')
    {
        if(realLetter==c)
        { 
          int n=((Integer)session.getAttribute("count")).intValue();
          n=n+1;
          session.setAttribute("count",new Integer(n));
          mess="您猜对了,这是第"+n+"次猜测";
        } 
        else if(realLetter<c)
        { 
          int n=((Integer)session.getAttribute("count")).intValue();
          n=n+1;
          session.setAttribute("count",new Integer(n));
          mess="您猜大了,这是第"+n+"次猜测";
        }
        else if(realLetter>c)
        { 
          int n=((Integer)session.getAttribute("count")).intValue();
          n=n+1;
          session.setAttribute("count",new Integer(n));
          mess="您猜小了,这是第"+n+"次猜测";
        }
     }
     else  
     {  mess="请输入a至z之间的英文字母。";
     }
   jspContext.setAttribute("message",mess); 
%>

这个页面主要用于随机生成一个字母,然后和输入的字母进行比较。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值