jsp实现剪子石头布小游戏

JSP教程 2025-07-31

本文实例为大家分享了jsp实现剪子石头布游戏的具体代码,供大家参考,具体内容如下

老师前两天除了一道小游戏的题目要大家做做,其实不太难,用了接近两个小时才做出来,先看一下题目。

问题描述:实现两个页面,第一个页面要求用图片或radio或select,第二个页面显示输赢的结果并把所有的结果保存输出。剪子石头布小游戏,跟常理一样,不必多说。

实现过程:使用form表单进行跳转处理,难点在图片传值这部分和数据统计部分,以下是代码:

游戏界面代码:

html
 head
 base href="%=basePath%" 
 
 title欢迎来到剪刀石头布游戏大厅/title
 meta http-equiv="pragma" content="no-cache"
 meta http-equiv="cache-control" content="no-cache"
 meta http-equiv="expires" content="0" 
 meta http-equiv="keywords" content="keyword1,keyword2,keyword3"
 meta http-equiv="description" content="This is my page"
 !--
 link rel="stylesheet" type="text/css" href="styles.css" rel="external nofollow" rel="external nofollow" 
 --
 /head
 
 body
 !-- 获得当前web project的名字 --
 %String pa = request.getContextPath(); %
 !-- form表单页面跳转 --
 form action="result.jsp" method="post"
 input type="radio" name="option" value="jiandao"img alt="剪刀" src="%=pa%/images/jiandao.jpg"
 input type="radio" name="option" value="shitou"img alt=石头" src="%=pa%/images/shitou.jpg"
 input type="radio"name="option" value="bu"img alt="布" src="%=pa%/images/bu.jpg"
 input type="submit"value="确定"/
 /form
 /body
/html

游戏界面:

游戏结果页面代码:

html
 head
 base href="%=basePath%" 
 
 titleMy JSP 'result.jsp' starting page/title
 
 meta http-equiv="pragma" content="no-cache"
 meta http-equiv="cache-control" content="no-cache"
 meta http-equiv="expires" content="0" 
 meta http-equiv="keywords" content="keyword1,keyword2,keyword3"
 meta http-equiv="description" content="This is my page"
 !--
 link rel="stylesheet" type="text/css" href="styles.css" rel="external nofollow" rel="external nofollow" 
 --
 
 /head
 
 body
 %
 String pathnew=request.getContextPath();
 //获取游戏参与者的选项值
 String res=request.getParameter("option");
 String reslong=res+".jpg";
 //产生随机数进行匹配图片 
 int com=(int)Math.random()*3;
 String computer=String.valueOf(com);
 //computer=0 jiandao 
 //computer=1 shiyou
 //computer=2 bu
 if(computer.equals("0")){
 computer="jiandao";
 } 
 else if(computer.equals("1")){
 computer="shitou";
 }
 else{
 computer="bu";
 }
 String computerlong=computer+".jpg";
 int win=0;
 int lost=0;
 int ping=0;
 Object objwin=session.getAttribute("win");
 Object objlost=session.getAttribute("lost");
 Object objping=session.getAttribute("ping");
 if(objwin==null){
 session.setAttribute("win",String.valueOf(win));
 }
 if(objlost==null){
 session.setAttribute("lost",String.valueOf(lost));
 }
 if(objping==null){
 session.setAttribute("ping",String.valueOf(ping));
 }
 %
 h3结果是/h3
 !-- 图片传值 --
 您出的是:img alt="" src="%=pathnew %/images/%=reslong %"
 span style="bold" color="red"vs/span
 电脑出的是:img alt="" src="%=pathnew %/images/%=computerlong %"
 %
 //逻辑判断,session更新统计值,
 if(res.equals(computer)){
 out.println("平局!");
 //session.setAttribute("ping",String.valueOf(Integer.valueOf((String)session.getAttribute("ping"))+1));
 session.setAttribute("ping",String.valueOf(Integer.valueOf((String)session.getAttribute("ping"))+1));
 }
 
 else if((res.equals("jiandao")computer.equals("bu"))||(res.equals("shitou")computer.equals("jiandao"))||(res.equals("bu")computer.equals("shiyou"))){
 out.println("您赢了!");
 //session.setAttribute("win",String.valueOf(Integer.valueOf((String)session.getAttribute("win"))+1));
 session.setAttribute("win",String.valueOf(Integer.valueOf((String)session.getAttribute("win"))+1));
 } 
 else{
 out.println("您输了!");
 session.setAttribute("lost",String.valueOf(Integer.valueOf((String)session.getAttribute("lost"))+1));
 //session.setAttribute("lost",String.valueOf(Integer.valueOf((String)session.getAttribute("lost"))+1));
 }
 
 % 
 h3统计结果,待写入数据库/h3
 您一共玩了%=String.valueOf(
 Integer.valueOf((String)session.getAttribute("win"))+Integer.valueOf((String)session.getAttribute("lost"))+Integer.valueOf((String)session.getAttribute("ping")) )%局br/
 您赢了%=String.valueOf(
 Integer.valueOf((String)session.getAttribute("win"))) %局br/
 您输了%=String.valueOf(
 Integer.valueOf((String)session.getAttribute("lost"))) %局br/
 打平了%=String.valueOf(
 Integer.valueOf((String)session.getAttribute("ping"))) %局br/
 /body
/html

游戏结果:

这个绝对没作弊,因为我输了5局哪!老师还提过下次要写个游戏,估计在这个程序上做作就可以了。