RSS   



  可打印版本 | 推薦給朋友 | 訂閱主題 | 收藏主題 | 純文字版  


 


 
主題: [Java&JSP] [分享]新手程式練習------猜數字遊戲   字型大小:||| 
DreamJ
驢有所悟
等級: 3等級: 3


 . 積分: 12
 . 文章: 39
 . 收花: 108 支
 . 送花: 44 支
 . 比例: 0.41
 . 在線: 151 小時
 . 瀏覽: 320 頁
 . 註冊: 5796
 . 失蹤: 1456
#1 : 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 作了最後編輯]


 附件: 您所在的用戶組無法下載或查看附件


[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
DreamJ
驢有所悟
等級: 3等級: 3


 . 積分: 12
 . 文章: 39
 . 收花: 108 支
 . 送花: 44 支
 . 比例: 0.41
 . 在線: 151 小時
 . 瀏覽: 320 頁
 . 註冊: 5796
 . 失蹤: 1456
#2 : 2009-1-9 01:06 AM     全部回覆 引言回覆

噗,我標題有寫說是Java唷


[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記

   

快速回覆
表情符號

更多 Smilies

字型大小 : |||      [完成後可按 Ctrl+Enter 發佈]        

溫馨提示:本區開放遊客瀏覽。
選項:
關閉 URL 識別    關閉 表情符號    關閉 Discuz! 代碼    使用個人簽名    接收新回覆信件通知
發表時自動複製內容   [立即複製] (IE only)


 



所在時區為 GMT+8, 現在時間是 2024-11-22 01:45 AM
清除 Cookies - 連絡我們 - TWed2k © 2001-2046 - 純文字版 - 說明
Discuz! 0.1 | Processed in 0.018918 second(s), 7 queries , Qzip disabled