本任务编写一个Servlet实现猜骰子大小游戏。使用HttpSession对象存储随机数,当使用GET请求访问它时,生成一个1~6之间的随机整数,将其作为一个属性存储到用户的会话对象中,同时提供一个表单供用户输入猜测的“大”or“小”。如果该Servlet接收到一个POST请求,它将比较用户猜的大小和随机生成的数是否符合条件,给出结果,并允许用户重新猜。

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.WebServlet;@WebServlet("/guess-number")
public class GuessNumberServlet extends HttpServlet {private static final long serialVersionUID = 1L;public GuessNumberServlet() {super();}public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {int magic=(int)(Math.random()*6+1);//生成一个1~6之间的随机整数HttpSession session=request.getSession();session.setAttribute("num", new Integer(magic));response.setContentType("text/html;charset=UTF-8");PrintWriter out=response.getWriter();out.println("<html><body>");out.println("一个骰子,通常有6种点数。我们将1、2、3记作“小”,将4、5、6记作“大”。我投一个点,你来猜“小”了还是“大”了。");out.println("<form action='guess-number' method='post'>");out.println("<input type='text' name='guess'/>");out.println("<input type='submit' value='确定'/>");out.println("</form>");out.println("</body></html>");}public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {String guess=request.getParameter("guess");//得到输入的值byte [] bytes =guess.getBytes("ISO-8859-1");guess= new String(bytes, "utf-8");HttpSession session=request.getSession();int magic=(Integer)session.getAttribute("num");response.setContentType("text/html;charset=UTF-8");PrintWriter out=response.getWriter();out.println("<html><body>");if(guess.equals("大")&&magic>3) {session.invalidate();//销毁对话out.println("祝贺你,猜对了!");out.println("<a href='guess-number'>再猜一次</a>"); //返回猜界面,重新随机一个数}else if(guess.equals("小")&&magic<4) {out.println("祝贺你,猜对了!");out.println("<a href='guess-number'>再猜一次</a>"); //返回猜界面,重新随机一个数}else {out.println("猜错了,请重猜");}out.println("<form action='guess-number' method='post>");out.println("<input type='text' name='guess'/>");out.println("<input type='submit' value='确定'/>");out.println("</form>");out.println("</body></html>");}}

运行结果:


【JavaWeb】简单版猜骰子大or小游戏相关推荐

  1. Golang + Laya引擎实现的简易版“球球大作战”小游戏

    开发动机 学习Golang语言以来,先后实现了个人博客,生活美食推荐系统,以及一些如日志收集工具等开发能用到的小工具,但还没写过游戏.前不久,利用闲暇时间,写了套简易的分布式游戏框架,心想写好了不投入 ...

  2. 云开发版合成大西瓜小游戏微信小程序源码 微信游戏小程序附带流量主功能

    这是一款云开发版的合成大西瓜小游戏微信小程序源码,微信游戏小程序源码.该小游戏玩法简单,只需要拖动同样的水果落下合成新品众的水果,最终合成大西瓜,玩法酷似俄罗斯方块,相当于换一种形式的俄罗斯方块,简单 ...

  3. C语言作业掷骰子,C语言大作业(掷骰子押宝小游戏).doc

    #include int money = 300; intpc_money = 300; void show(); //声明界面显示函数 void play(); //声明玩法函数 void getC ...

  4. 最新微信合成大西瓜小游戏(合成版)源码+附带流量主功能

    正文: 这是一款云开发版的合成大西瓜小游戏微信小程序源码,微信游戏小程序源码. 该小游戏玩法简单,只需要拖动同样的水果落下合成新品众的水果,最终合成大西瓜,玩法酷似俄罗斯方块,相当于换一种形式的俄罗斯 ...

  5. 微信游戏-合成大西瓜小游戏源码 附带流量主功能

    简介: 这是一款云开发版的合成大西瓜小游戏微信小程序源码,微信游戏小程序源码.该小游戏玩法简单,只需要拖动同样的水果落下合成新品众的水果,最终合成大西瓜,玩法酷似俄罗斯方块,相当于换一种形式的俄罗斯方 ...

  6. html 转盘游戏开发,【scratch】简单的大转盘小游戏

    彩色大转盘 大家是否在各种饭店.商家.网页上看到过大转盘的抽奖活动装置? 对就是这种!!!有各种奖品以及充斥着整个版面50%+的谢谢参与. 我们的小码农也做了一款简单的并且没有(大概)谢谢参与的大转盘 ...

  7. 基于Java实现的贪吃蛇大作战小游戏

    贪吃蛇大作战小游戏 整体思路与架构 本项目主要分为三个部分,即UI界面.游戏逻辑与网络传输. UI界面部分,主要是为了实现不同界面之间的切换.包括了注册登陆窗口(loginFrame)与游戏主窗口(G ...

  8. vue+netty+redis微信猜数对战小游戏

    vue+netty+redis微信猜数对战小游戏 GITHUB 需求列表 微信登录 每小时一次领取积分1000 分享给好友赢1000积分,每微信账号一次 积分小于-10000不可进行游戏 排行榜ran ...

  9. 微信小游戏 腾讯课堂《白鹭教育 - 成语大挑战小游戏开发》学习笔记

    腾讯课堂<白鹭教育 - 成语大挑战小游戏开发>:https://ke.qq.com/course/287266 学习笔记 首先这个视频课程简单介绍了一个小游戏的制作,包括新建项目.适配模式 ...

最新文章

  1. swift 之SnapKit 动画
  2. React兄弟组件之间通信
  3. IDEA报错Web server failed to start. Port 8080 was already in use的解决方法
  4. web.xml里filter-mapping中的dispatcher作用
  5. 【转自lzplzp】pair project总结
  6. linux把2块盘挂到一个分区,linux系统如何挂载第二块硬盘
  7. 动感灯箱制作流程培训_广告立体灯箱的特点有哪些?
  8. 【前端知识学习】HTML5 学习笔记
  9. RecyclerView(六)设置下拉刷新
  10. 前端:JS/29/实例:控制div显示_滚动的图片
  11. vm15不支持linux,每个处理程序的多个VMExtensions不支持操作系统类型'Linux
  12. Java 阻塞队列实现原理分析
  13. linux0.11内核完全注释读书笔记
  14. 设计鲁棒性的方法:输入一个链表的头结点,逆序遍历打印该链表出来
  15. gem5源码解读se.py以及simulate.py(一)
  16. 自己开发的天视通局域网电脑监控软件,需要的来下载
  17. H5U PLC定位控制功能块(EtherCAT总线)
  18. 谷歌中设置utf8编码
  19. 腾讯bugly热更新接入
  20. 3.提取线稿(PS)

热门文章

  1. 对比vivo X70系列与iPhone 13系列哪一款更值得购买!
  2. 人工智能之机器学习-逻辑回归、回归(Regression)-Pytorch快速实现
  3. 华为首席开源联络官执笔,带你了解5G时代的边缘计算
  4. 微信小程序固定顶部和底部
  5. 安装xlrd/xlwt模块
  6. 火柴人联盟2服务器维护,火柴人联盟2闪退黑屏原因及解决方法汇总
  7. 特定功能微生物多样性分析
  8. 在arXiv下载论文的LaTeX源码
  9. GEEer成长日记二十:使用Sentinel 2影像计算水体指数NDWI、MNDWI并下载到本地
  10. MicroStrategy(微策略)BI框架 iOS开发代码分享