package game; public class GuessNumber { //系統隨機生成一個數 int answer=0; //用戶猜的數 int guessNumber=0; //用戶猜的次 數 int guessCount=0; String result=null; boolean right=false; public void setAnswer(int answer){ this.answer=answer; guessCount=0; } public int getAnswer(){ return answer; } public int getGuessNumber() { return guessNumber; } public void setGuessNumber(int guessNumber) { this.guessNumber = guessNumber; guessCount++; if(guessNumber==answer) { result="恭喜你猜對了!"; right=true; } else if(guessNumber>answer) { result="不好意思你猜大了!"; right=false; } else if(guessNumber<answer) { result="不好意思你猜小了!"; right=false; } else if(this.answer==-1||this.answer>100) { result="請輸入1~100的整數!"; right=false; } } public int getGuessCount() { return guessCount; } public void setGuessCount(int guessCount) { this.guessCount = guessCount; } public String getResult() { return result; } public void setResult(String result) { this.result = result; } public boolean isRight() { return right; } public void setRight(boolean right) { this.right = right; } }
<%//getNumber.jsp%>
<%@ page language="java" import="java.util.Random" pageEncoding="UTF-8"%> <%@ page contentType="text/html"%> <html> <head> <title>系統將隨機生成一個數</title> <meta http-equiv="Content-Type" content="text/html;charset="utf-8"> </head> <body> <jsp:useBean id="guess" class="game.GuessNumber" scope="session"/> <% //實例化一個對象,該對象可以產生隨機數 Random randomNumbers=new Random(); int answer=1+randomNumbers.nextInt(100); String str=response.encodeRedirectURL("guess.jsp"); %> <jsp:setProperty name="guess" property="answer" value="<%=answer%>"/> <h3>隨系統隨機生成了一個1到100之間的整數,請猜是什么數?</h3> <hr> <form action="<%=str%>"method="get"> 輸入你猜的數:<input type="text"name="guessNumber"> <input type="submit"value="提交"> </form> </body> </html>
<%guess.jsp%> <%@ page contentType="text/html" pageEncoding="UTF-8"%> <html> <head> <title>猜的結果</title> <meta http-equiv="Content-Type" content="text/html;charset="utf-8"> </head> <body> <jsp:useBean id="guess" class="game.GuessNumber" scope="session"/> <% String strGuess=response.encodeRedirectURL("guess.jsp"); String strGetNumber=response.encodeRedirectURL("getNumber.jsp"); %> <hr> <jsp:setProperty name="guess" property="guessNumber" param="guessNumber"/> 這是第<jsp:getProperty name="guess" property="guessCount"/>次猜。 <jsp:getProperty name="guess" property="result"/> 你猜的數是<jsp:getProperty name="guess" property="guessNumber"/>。 <% if(guess.isRight()==false) {%> <form action="<%=strGuess%>"method="get"> 請再猜一次:<input type="text"name="guessNumber"> <input type="submit"value="提交"> </form> <% } %> <hr> <a href="<%=strGetNumber %>">重新開始猜數</a> </body> </html>