Board logo

主題: [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