本文實(shí)例為大家分享了jsp實(shí)現(xiàn)剪子石頭布游戲的具體代碼,供大家參考,具體內(nèi)容如下
老師前兩天除了一道小游戲的題目要大家做做,其實(shí)不太難,用了接近兩個(gè)小時(shí)才做出來(lái),先看一下題目。
問(wèn)題描述:實(shí)現(xiàn)兩個(gè)頁(yè)面,第一個(gè)頁(yè)面要求用圖片或radio或select,第二個(gè)頁(yè)面顯示輸贏的結(jié)果并把所有的結(jié)果保存輸出。剪子石頭布小游戲,跟常理一樣,不必多說(shuō)。
實(shí)現(xiàn)過(guò)程:使用form表單進(jìn)行跳轉(zhuǎn)處理,難點(diǎn)在圖片傳值這部分和數(shù)據(jù)統(tǒng)計(jì)部分,以下是代碼:
游戲界面代碼:
html>
head>
base href="%=basePath%>" >
title>歡迎來(lái)到剪刀石頭布游戲大廳/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>
!-- 獲得當(dāng)前web project的名字 -->
%String pa = request.getContextPath(); %>
!-- form表單頁(yè)面跳轉(zhuǎn) -->
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>
游戲界面:
游戲結(jié)果頁(yè)面代碼:
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();
//獲取游戲參與者的選項(xiàng)值
String res=request.getParameter("option");
String reslong=res+".jpg";
//產(chǎn)生隨機(jī)數(shù)進(jìn)行匹配圖片
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>結(jié)果是/h3>
!-- 圖片傳值 -->
您出的是:img alt="" src="%=pathnew %>/images/%=reslong %>">
span style="bold" color="red">vs/span>
電腦出的是:img alt="" src="%=pathnew %>/images/%=computerlong %>">
%
//邏輯判斷,session更新統(tǒng)計(jì)值,
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)計(jì)結(jié)果,待寫(xiě)入數(shù)據(jù)庫(kù)/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>
游戲結(jié)果:
這個(gè)絕對(duì)沒(méi)作弊,因?yàn)槲逸斄?局哪!老師還提過(guò)下次要寫(xiě)個(gè)類似老虎機(jī)的游戲,估計(jì)在這個(gè)程序上做作弊就可以了。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:- jsp+servlet實(shí)現(xiàn)猜數(shù)字游戲
- JSP實(shí)現(xiàn)百萬(wàn)富翁猜數(shù)字游戲
- 基于jsp的井字游戲?qū)嵗?/li>
- jsp網(wǎng)頁(yè)實(shí)現(xiàn)貪吃蛇小游戲