主題:
[Java&JSP]
[分享]新手程式練習------猜數字遊戲
[打印本頁]
發表人:
DreamJ
時間:
2009-1-8 02:38 PM
主題:
[分享]新手程式練習------猜數字遊戲
分享一個稍微有點難的程式,主要有兩個檔案,
一個是執行檔GamePlay2.java,
一個是主要的程式檔Game2.java。
先說明執行檔GamePlay2.java吧
程式碼如下:
import static java.lang.System.out;
import java.io.*;
import java.util.*;
public class GamePlay2 {
public static void main(String[] args) {
//下面是在替程式檔Game2開啟一個記憶體空間,然後把空間名稱叫做run
//然後在run這個空間裡執行Game2.java底下的gameRun方法
Game2 run = new Game2();
run.gameRun();
}
}
程式執行結果:
呼叫Game2.java!
接下來是Game2.java的說明
程式碼如下:
//import是抓java預設套件的寫法,下面有用到的時候會解釋
import static java.lang.System.out;
import java.io.*;
import java.util.*;
public class Game2 {
//指定Range最小值 b、最大值 c、猜數字次數 rounds、儲存玩家猜的數字 text
int b = 0;
int c = 9999;
int rounds = 0;
int text = 0;
public void gameRun() {
//用java.util底下的Random指令指定電腦隨機選數字
//而nextInt指定其可隨機之數字的Range為0~10000
Random a = new Random();
//用一個區域變數score代表Random出來的數字
int score = a.nextInt(10000);
//這行提示電腦已經指定四位數答案,可以開始遊戲
if (text != score) {
out.println("電腦已隨機指定四位數為答案。可以開始猜題。");
//當text不等於score時,進入while迴圈開始跑遊戲程式
//rounds會記錄玩家到底猜了幾次
while(text != score)
{
rounds++;
out.println("請輸入範圍內的四位數字: ");
Scanner s = new Scanner(System.in);
text = s.nextInt();
//If判斷玩家猜的數字text是否等於電腦隨選的數字score
if(text == score)
{
out.println("恭喜過關,您總共猜了 " + rounds + " 次!");
}
else
{
//If判斷text值有沒有在限制的範圍之中,超過的話就到else提醒玩家重新猜數字
if(text > b && text < c){
//If判斷text跟score的大小比較,並且將text視情況帶入最大值c或是最小值b
if(text > score){
c = text;
out.println("比"+c+"小喔~請輸入範圍為"+b+"到"+c+"間的數字");
}
else if(text < score){
b = text;
out.println("比"+b+"大喔~請輸入範圍為"+b+"到"+c+"間的數字");
}
}else{
out.println("您輸入的數字超過範圍了喔^^");
}
}
}
}else{
//這行是純粹預防太賽的人...第一次key數字,結果竟然match電腦的隨機數字...
out.println("太扯了!電腦才剛出題就被你破解了!一定有用外掛!不玩了@@");
}
}
}
程式執行結果:
請自己跑看看吧^^是可以跟電腦玩的小遊戲喔~看看幾次可以猜中吧^^
--
希望對Java新手有所幫助^^
程式直接copy即可執行,記得要編譯過喔^^
[DreamJ 在 2009-1-9 01:14 PM 作了最後編輯]
附件: [猜數字遊戲]
four random number (fix).rar
(2009-1-8 02:38 PM, 2.77 K) / 該附件被下載次數 4
http://twed2k.org/attachment.php?aid=37072
發表人:
h80053
時間:
2009-1-8 10:12 PM
這是C語言嗎??好像不是的感覺。
發表人:
DreamJ
時間:
2009-1-9 01:06 AM
噗,我標題有寫說是Java唷
歡迎光臨 TWed2k (http://twed2k.org/)
Powered by Discuz! 4.1.0