在進行步驟之前,以下是遊戲一般規則的概述:
首先,我們將調用類猜測遊戲,並添加空的主函數如下:
public class GuessingGame {
public static void main ( String [] args ) {
}
}
只有這些行,該程序是完全有效的。您可以編譯和運行,但還沒有向控制台顯示任何內容。
要生成一個數字以後將被用戶猜測,讓我們聲明整數型變量computernumber並使用此說明: *(Math.random() 100 + 1)在1至100的範圍內為其分配一個隨機數。
public class GuessingGame {
public static void main ( String [] args ) {
int computerNumber = ( int ) ( Math . random ()* 100 + 1 );
System . out . println ( "The correct guess would be " + computerNumber );
}
}
目前,第四行將隨機數顯示給用戶,但是在此遊戲的最終版本運行時,該行未打印。目前,此行只是記錄了對控制台驗證的正確答案。
現在,用戶將猜測計算機生成的隨機數。為了從用戶那裡獲得答案,我們聲明了另一個INT可變Useranswer並初始化它。
這很簡單,您可以通過初始化INT變量計數來做到這一點: int count = 1 。此外,這將顯示“輸入”對話框,直到用戶猜測正確的數字為止。
步驟5:檢查用戶答案很明顯,不能只給用戶一次嘗試猜測該遊戲中的數字。因此,我們需要為用戶提供盡可能多的嘗試,並且要檢查所有嘗試中猜測的數字。計算嘗試的數量已經在早期步驟中完成。
現在,使用以下代碼開始使用循環時使用計算機的隨機數來檢查用戶的答案: while(useranswer!= computernumber) 。下面說明了“ while”循環下的大部分代碼:
while ( userAnswer != computerNumber )
{
String response = JOptionPane . showInputDialog ( null ,
"Enter a guess between 1 and 100" , "Guessing Game" , 3 );
userAnswer = Integer . parseInt ( response );
JOptionPane . showMessageDialog ( null , "" + determineGuess ( userAnswer , computerNumber , count ));
count ++;
}
隨著參數從循環傳遞到確定gues ,我們需要檢查用戶猜測的數字與計算機生成的數字的距離有多近,並顯示了所做的嘗試次數。將根據用戶的數字輸入執行五個條件語句。
public static String determineGuess ( int userAnswer , int computerNumber , int count ){
if ( userAnswer <= 0 || userAnswer > 100 ) {
return "Your guess is invalid" ;
}
else if ( userAnswer == computerNumber ){
return "Correct! n Total Guesses: " + count ;
}
else if ( userAnswer > computerNumber ) {
return "Your guess is too high, try again. n Try Number: " + count ;
}
else if ( userAnswer < computerNumber ) {
return "Your guess is too low, try again. n Try Number: " + count ;
}
else {
return "Your guess is incorrect n Try Number: " + count ;
}
}