JSP实现百万富翁猜数字游戏

本文实例为大家分享了JSP实现百万富翁猜数字游戏的具体代码,供大家参考,具体内容如下

设计一个web app,每次产生一个30以内的数字,给5次机会让客户猜测这个数字:

1)如果客户猜的数字比产生的数字值大,则提示“大了”。
2)如果客户猜的数字比产生的数字值小,则提示“小点”

猜对了就过关,猜错Game Over,给玩家重玩的机会。

JSP代码:

<%@ page language="java" contentType="text/html; charset=UTF-8"
 pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
 String result=(String)request.getAttribute("result");
  if(result!=null){
   out.write("<font color='red'>"+result+"'</font>");
  }
%>

<%
 Integer times=(Integer)request.getAttribute("times");
  if(times!=null){
   out.write("你还有"+(5-times)+"次机会!");
  }
%>
<br/>
<form action="/zxz/zxz" method="POST">
 请输入你的数(20以下):<input type="text" name="Lucy" /><br/>
 <%
  if(times!=null){
 %>
   <input type="hidden" name="times" value="<%=times %>"/>
 <%
  }
 %>
 <input type="submit" value="竞猜" />
</form>
</body>
</html>

Servlet代码:

package hah;

import java.io.IOException;
import java.util.Random;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class zxz
 */
@WebServlet("/zxz")
public class zxz extends HttpServlet {
 private static final long serialVersionUID = 1L;

 int answer;
 public void newGame() {
  Random random=new Random();
  answer=random.nextInt(20);
 }
 public zxz() {
  newGame();
 }
 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  response.setContentType("text/html;charset=utf-8");
  String lucyStr=request.getParameter("Lucy");
  Integer lucyNb=null;
  System.out.println("答案:"+answer);
  if(!lucyStr.equals("")) {
   lucyNb=Integer.parseInt(lucyStr);
  }
  Integer times=1;

  String timeStr=request.getParameter("times");
  if(timeStr!=null&&!timeStr.equals("")) {
   times=Integer.parseInt(timeStr)+1;
  }
  if(times<5) {
   String result="";
   if(lucyNb>answer) {
    result="大了";
   }else if(lucyNb<answer) {
    result="小了";
   }else if(lucyNb==answer) {
    result="中了";
    times=null;
   }
   request.setAttribute("times", times);
   request.setAttribute("result", result);
  }else {
   newGame();
   response.getWriter().write("游戏结束<a href='"+request.getContextPath()+"/One.jsp'>再来一把</a>");
   return;
  }
  request.getRequestDispatcher("/One.jsp").forward(request, response);
 }

 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  doGet(request, response);
 }

}

总结:

a. 使用标签hidden可以隐式传递数据而不被用户发现 可以用来记录次数 如:

<input type="hidden" name="times" value="<%=times %>"/>

b. Servlet是用来跳转和执行逻辑代码的,JSP是用来展示数据的
c. request.getParameter(“Lucy”);如果参数不存在则返回null的字符串值
d 跳转有两种方式 一个是页面跳转 地址要写项目名+jsp或者servlet

另一个是转发共享了request的域对象,地址可以直接写jsp或者servlet 不要项目名 而且项目名和jsp或者servlet前都要加“/” 不然就是相对位置了

如:

<form action="/zxz/zxz" method="POST">
//转发
request.getRequestDispatcher("/One.jsp").
forward(request, response);

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • jsp+servlet实现猜数字游戏

    jsp+servlet实现猜数字游戏主要用到了servlet方面的session,HttpServletResponse类中的sendRedirect()方法. step1,客户访问或刷新getNumber.jsp页面时,随机给用户分配一个1-100之间的数字,将该数字存放到客户的session中. <%@ page language="java" import="java.util.*" contentType="text/html;charset

  • JSP实现百万富翁猜数字游戏

    本文实例为大家分享了JSP实现百万富翁猜数字游戏的具体代码,供大家参考,具体内容如下 设计一个web app,每次产生一个30以内的数字,给5次机会让客户猜测这个数字: 1)如果客户猜的数字比产生的数字值大,则提示"大了". 2)如果客户猜的数字比产生的数字值小,则提示"小点" 猜对了就过关,猜错Game Over,给玩家重玩的机会. JSP代码: <%@ page language="java" contentType="tex

  • Python版的文曲星猜数字游戏代码

    复制代码 代码如下: # -*- coding: utf-8 -*- import random #数字类class NumberItem: #数字个数    _GUESS_NUMBER_COUNT_ = 4 def __init__(self):        self._num_ = [] #长度是否标准        def IsFormat(self):        return self._num_.__len__() == self._GUESS_NUMBER_COUNT_ #生成

  • python实现的简单猜数字游戏

    本文实例讲述了python实现的简单猜数字游戏.分享给大家供大家参考.具体如下: 给定一个1-99之间的数,让用户猜数字,当用户猜错时会提示用户猜的数字是过大还是过小,知道用户猜对数字为止,猜对数字用的次数越少成绩越好. import random n = random.randint(1, 99) guess = int(raw_input("Enter an integer from 1 to 99: ")) while n != "guess": print

  • js实现一个猜数字游戏

    看你需要猜几次才能猜到那个正确的数字! 效果图: 代码如下: <!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title>猜数字游戏</title> <script type="text/javascript" cha

  • java实现的简单猜数字游戏代码

    本文实例讲述了java实现的简单猜数字游戏代码.分享给大家供大家参考. 具体代码如下: 复制代码 代码如下: import java.util.InputMismatchException; import java.util.Scanner; public class Main {         public static void main(String[] args) {                 // 产生一个随机数                 int number = (in

  • 基于vue组件实现猜数字游戏

    本文实例为大家分享了vue猜数字游戏的具体代码,供大家参考,具体内容如下 <!doctype html> <html> <head> <meta charset="UTF-8"> <title>vue组件猜数字游戏</title> <script src="js/vue.js"></script> </head> <body> <div id

  • C#实现简易猜数字游戏

    本文实例为大家分享了C#实现简易猜数字游戏的具体代码,供大家参考,具体内容如下 游戏规则说明: 由系统生成一个随机数,玩家有三次猜数字的机会,如果在三次内猜出数字反馈玩家猜对了,否则Game Over! 代码设计说明: 1.首先设计一个简易的欢迎界面,并提示玩家是否开始游戏: public void Rule() { string symbol; bool flag = false; Console.WriteLine("*************************************

  • python3实现猜数字游戏

    本文实例为大家分享了python3实现猜数字游戏的具体代码,供大家参考,具体内容如下 需求目标: 需求:猜数字游戏 1: 开始游戏产生一个1~100随机数 2: 用户输入,游戏根据输入值提示大或者小 3: 用户根据提示继续输入,知道猜中为止 4: 如果用户输入错误,程序可以处理异常. 代码如下: # coding=utf-8 import random num = random.randint(0, 100) while True: try: guess = int(input("Enter 1

  • 如何利用Python开发一个简单的猜数字游戏

    前言 本文介绍如何使用Python制作一个简单的猜数字游戏. 游戏规则 玩家将猜测一个数字.如果猜测是正确的,玩家赢.如果不正确,程序会提示玩家所猜的数字与实际数字相比是"大(high)"还是"小(low)",如此往复直到玩家猜对数字. 准备好Python3 首先,需要在计算机上安装Python.可以从Python官网下载并安装.本教程需要使用最新版的Python 3(版本3.x.x). 确保选中将Python添加到PATH变量的框.如果不这样做,将很难运行该程序.

随机推荐