2016-12-25 3 views
-5

Я пытаюсь создать игру, в которой у пользователя есть 3 возможности угадать случайное число, которое генерирует программа. У меня есть этот код до сих пор, но я не знаю, как заставить программу остановиться после того, как пользователь вводит 3 из 3 догадок. Если пользователь не сможет правильно угадать в 3-х попыток, я хочу, чтобы программа, чтобы сказать «Вы теряете. Число было ...»Ограничить количество игр до трех попыток

import java.util.Random; 
import java.util.Scanner; 
class GuessNumber { 
    public static void main(String args[]) { 
     Random random = new Random(); 
     Scanner input = new Scanner(System.in); 
     int MIN = 1; 
     int MAX = 10; 
     int comp = random.nextInt(MAX - MIN + 1) + MIN; 
     int user; 


     do { 
      System.out.print("Guess a number between 1 and 10: "); 
      user = input.nextInt(); 

      if (user > comp) 
       System.out.println("My number is less than " + user + "."); 
      else if (user < comp) 
       System.out.println("My number is greater than " + user + "."); 
      else 
       System.out.println("Correct! " + comp + " was my number! "); 
     } while (user != comp); 
    } 
} 
+1

Вам нужна переменная счетчика, увеличивайте ее при каждой попытке и распечатывайте и завершайте, когда/если счетчик достигает 3. – Andreas

ответ

0

Просто посчитайте количество попыток и выйти из цикла, когда он достигает порог. Вроде бы:

int attemptsNum = 0; 
    final int maxAttempts = 3; 
    do { 
     System.out.print("Guess a number between 1 and 10: "); 
     user = input.nextInt(); 

     if (user > comp) 
      System.out.println("My number is less than " + user + "."); 
     else if (user < comp) 
      System.out.println("My number is greater than " + user + "."); 
     else 
      System.out.println("Correct! " + comp + " was my number! "); 
    } while (user != comp && ++attemptsNum <maxAttempts); 

    if (attemptsNum == maxAttempts) 
     System.out.println("You loose. The number was :" + comp); 
Смежные вопросы