📚 知識家圖書館 奇摩知識+ 紀念館

求!JAVA 程式..SlotMachine吃角子老虎遊戲機

發問者 咪醬 (Lv.1) ・2008 年 9 月 8 日 ・程式設計

4.請設計一類別名稱為SlotMachine (好人吃角子老虎)之類別,用來模擬可顯示 3 個數字的吃角子老虎遊戲機,最後要結算其輸贏。 (1)其 2 個實體變數分別為: 整數變數 MAX,用來表示機器可跑出的最大數字; 整數變數 amount,用來表示使用者的代幣點數總額。 (2)SlotMachine 類別中要使用 enum 設計一個使用者自訂的資料型態 RESULT 用來設定使用者玩拉霸的三個可能結果: 贏 (WIN)、平手 (EVEN)、輸 (LOSE) (3)此類別之建構子需有二整數參數,其內容為: a. 檢查第 1 個參數的值,如果其值介於 3 至 7 (含 3 及 7) 之間,則將 MAX 設 為該值;否則將 MAX 值設為 7。 b. 檢查第 2 個參數的值,如果其值為正,則將 amount 設為該值;否則將 amount 設為 100。 (4)SlotMachine 類別的方法有 3: 3.1RESULT check( ):此方法需有 3 個整數參數,其內容顯示此 3 隨機整數,並判斷 a、如果 3 個數字完全一樣,傳回 WIN; b、如果其中 2 個數字一樣,傳回 EVEN; c、其他狀況,傳回 LOSE; 3.2 slot( ),此方法不須參數,其內容如下: 隨機產生 3 個介於 1到MAX的整數, 呼叫 check( ) 方法, 以 switch檢查傳回結果: 如果是 WIN,將 amount 加 10,顯示 “大贏,加 10 點,目前點數 xx ”; 如果是 EVEN,顯示 “平平,再試”; 如果是 LOSE,將 amount 減 8,顯示 “大輸,減 8 點,目前點數 xx ”; 檢查 check( ) 的結果,直到 WON 或 LOSE 為止, 如果不是 WON 或 LOSE,持續以下縮排程式: 隨機產生 3 個介於 1到MAX的整數, 呼叫 check( ) 方法, 以 if 檢查傳回結果: 如果是 WIN,將 amount 加 5,顯示 “小贏,加 5 點,目前點數 xx ”; 如果是 EVEN,顯示 “平平,再試”, 如果是 LOSE,將 amount 減 4,顯示 “小輸,減 4 點,目前點數 xx ”; 最後問使用者要不要再玩, 如果要的話,呼叫 slot( ) 以開啟下一回合; 如果不要的話,顯示 “最後點數 xx,你贏了 xx 點” [註:這部份需要你自己想想看要怎麼解決] 3.2main( ),此方法須宣告二個SlotMachine 物件, 第 1 個物件的引數為 3, 100,第 2 個物件引數為 4, 200;並依續呼叫其 slot( ) 方法。 參考畫面: 三數為 3, 3, 3 大贏加 10 點,目前點數 110 要不要再玩?要 三數為 1, 3, 2 大輸,減 8 點,目前點數 102 要不要再玩?要 三數為 1, 1, 2 平平,再試 三數為 1, 2, 2 平平,再試 三數為 2, 1, 3 小輸,減 4 點,目前點數 98 要不要再玩?不要 最後點數 110,你贏了 -2 點 [註:如果輸的話,點數顯示為負值] 第 2 個遊客的部份如同上面,省略

1 則回答

最佳解答
依照你的需求作了一下 程式碼自行下載 http://www.badongo.com/file/11394198 執行結果跟你的差不多 3個數為:1,6,2 平平,再試 要不要再玩? 要 3個數為:3,1,3 大贏,加 10 點,目前點數: 110 要不要再玩? 要 3個數為:6,6,1 大贏,加 10 點,目前點數: 120 要不要再玩? 要 3個數為:4,7,3 平平,再試 要不要再玩? 不要 最後點數 120 你贏了 20點 2008-09-19 18:27:11 補充: 不好意思 之前做的有點小錯誤 後來修正過了 載點如下: http://www.badongo.com/file/11414655
LuckyCoins(Lv.2) 2008 年 9 月 18 日

電腦與網際網路的其他問題