jsp實現(xiàn)剪子石頭布小游戲
本文實例為大家分享了jsp實現(xiàn)剪子石頭布游戲的具體代碼,供大家參考,具體內容如下
老師前兩天除了一道小游戲的題目要大家做做,其實不太難,用了接近兩個小時才做出來,先看一下題目。
問題描述:實現(xiàn)兩個頁面,第一個頁面要求用圖片或radio或select,第二個頁面顯示輸贏的結果并把所有的結果保存輸出。剪子石頭布小游戲,跟常理一樣,不必多說。
實現(xiàn)過程:使用form表單進行跳轉處理,難點在圖片傳值這部分和數(shù)據(jù)統(tǒng)計部分,以下是代碼:
游戲界面代碼:
<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%>" >
<title>My 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";
//產生隨機數(shù)進行匹配圖片
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更新統(tǒng)計值,
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>統(tǒng)計結果,待寫入數(shù)據(jù)庫</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局哪!老師還提過下次要寫個游戲,估計在這個程序上做作就可以了。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Spring框架中 @Autowired 和 @Resource 注解的區(qū)別
這篇文章主要介紹了Spring框架中 @Autowired 和 @Resource 注解的區(qū)別的相關資料,需要的朋友可以參考下2017-03-03
Java Web項目中連接Access數(shù)據(jù)庫的配置方法
本文是對前幾天的“JDBC連接Access數(shù)據(jù)庫的幾種方式”這篇的升級。由于在做一些小項目的時候遇到的問題,因此才決定寫這篇博客的。昨天已經將博客發(fā)布了,但是后來經過一些驗證有點問題,所以今天改了一下重新的發(fā)布了2013-05-05
詳解velocity模板使javaWeb的html+js實現(xiàn)模塊化
這篇文章主要介紹了詳解velocity模板使javaWeb的html+js實現(xiàn)模塊化的相關資料,需要的朋友可以參考下2017-05-05
JSP中js傳遞和解析URL參數(shù)以及中文轉碼和解碼問題
有關js傳遞和解析URL參數(shù)以及中文轉碼和解碼問題,都是在js中很常見的,下面通過示例簡單為大家介紹下,感興趣的朋友可以參考下2013-10-10
JavaScript實現(xiàn)鏈表插入排序和鏈表歸并排序
這篇文章主要介紹了JavaScript實現(xiàn)鏈表插入排序和鏈表歸并排序,較為詳細的分析了插入排序和歸并排序,對于學習JavaScript數(shù)據(jù)結構具有一定參考借鑒價值,需要的朋友可以參考下。2016-10-10
JSP中動態(tài)include與靜態(tài)include的區(qū)別介紹
動態(tài)include與靜態(tài)include的區(qū)別你知道嗎,下面就詳細為大家詳細介紹下,如果你還不知道那么不要錯過2013-11-11

