2013-11-28 57 views
0

所以,如果我犯了一些錯誤,那麼一個非常新的程序員就會原諒我。 我需要爲我的班級製作更高或更低的遊戲,但現在我有點卡住了。 整個遊戲的目的是猜測計算機隨機生成的數字。但是這裏有一個棘手的部分,用戶只需要8次機會就能猜出數字。如果不是遊戲必須結束並打印出如下內容:你輸了,數字是......製作更小更高更高的遊戲機遊戲

我來到這裏;

public static void main(String[] args) { 
     int timesGuessed = 0; 
     int randomNummer = (int)(Math.random()*100); 
     int number; 
     boolean won = true; 

     Scanner input = new Scanner(System.in); 

     do{ 
      System.out.print("Guess the number: "); 
      number = input.nextInt(); 

      timesGuessed++; 

      if(timesGuessed == 8){ 
       won = false; 

      } 

      if(number > randomNummer){ 
       System.out.println("Lower!"); 
      } 
      else if(number < randomNummer){ 
       System.out.println("Higher!"); 
      } 
     } 
     while(number != randomNummer); 

     if(won == true){ 
       System.out.println("The number is guessed right in " + timesGuessed + " attemts."); 
     } 
     else{ 
      System.out.println("You lost. The number was " + randomNummer + "."); 
     } 
} 

現在遊戲可以讓你完成,即使你已經有8次機會。那就是我想改變的。當你八次失敗時,它需要停止。

謝謝你的幫助,這將非常感激。

+0

在'won = false;'之後放置了一個'break'語句;' – yasen

+0

請不要在此輸出您的問題。這使他們更難閱讀,並且不會讓你更快得到幫助。這也很煩人(而且很粗魯)。謝謝。 –

回答

0

您還需要檢查您的環路條件下的won變量。您可能還需要添加else,以便在最終嘗試後不打印「較高」或「較低」。