2016-03-27 3 views
0

Я пытаюсь создать случайную игру угадывания многопользовательских игр на Java, и у меня возникают проблемы с ней. Код ниже - это то, что у меня есть до сих пор. Мне нужно вставить код, который подскажет пользователю ввести количество игроков. Как только они это сделают и начнут угадывать, программа должна принимать догадки от каждого игрока до тех пор, пока не догадается, что это правильно, в этом случае этот игрок будет пропущен, пока остальные игроки не угадают их номера. Программа назначает каждому пользователю свой уникальный номер. (Пример: Есть три игрока. Один игрок догадывается 1. Это слишком низко. Игрок два догадывается 4. Это правильно! Три игрока догадываются 4. Это слишком высоко. Игрок один догадывается 2. Это правильно! Угадайте три игрока 3. Это правильно! ... и т. д.)Многопользовательская игра случайных чисел Java

import java.util.Random; 
import java.util.Scanner; 

public class MultiRandGame { 

    public static void main(String[] args) { 

     Random rand = new Random(); 
     int NumGuess = rand.nextInt(101); 
     int NumTries = 0; 
     Scanner input = new Scanner(System.in); 
     int guess; 
     boolean Game = false; 

     while (Game == false) { 

      System.out.println("Guess a number between 1 and a 100: "); 
      guess = input.nextInt(); 
      NumTries++; 

      if (guess == NumGuess) { 
       Game = true; 
      } 

      else if (guess < NumGuess) { 
       System.out.println("Too low!"); 

      } 

      else if (guess > NumGuess) { 
       System.out.println("Too high!"); 

      } 
     } 

     System.out.println("You got it!"); 
     System.out.println("The number was " + NumGuess); 
     System.out.println("It took you " + NumTries + " tries!"); 

    } 
} 
+0

Как многие пользователи получают шанс ... в очереди? –

+0

Да; это будет очередная очередь. один пользователь догадывается, затем следующий, если этот пользователь правильно его получает, то они пропущены, пока каждый игрок не угадает правильно, а игра закончится –

+0

Предполагая, что все это в командном окне, все получают уникальный номер? Если один человек догадается правильно, все получат его. –

ответ

0

Это может быть проще понять код, если вы читаете о соглашениях об именах. Game до game, NumGuess до numGuess и так далее. Здесь есть место read about it.

Что касается множества людей, играющих в эту игру, это просто, вы можете просто зацикливаться на каждой догадке, сохранив номер игрока, который правильно догадался. Вы также должны иметь массивы, для которых игрок правильно угадывает и что их число должно угадывать.

int guess = 0; 
int playerCount = 2; 
//boolean[] won = new boolean[playerCount]; 
int[] numbers = new int[playerCount]; 

for (int i = 0; i < playerCount; i++) 
    numbers[i] = rand.nextInt(101); 

System.out.println("Guess a number between 0 and 100."); 
while (game == false) { 
    for (int player = 0; player < playerCount; players++) { 
     System.out.print("Player #"+player+" guess: "); 
     guess = Integer.parseInt(input.nextLine()); 
     //if (won[player] == false) { 
      if (guess == numbers[player]) { 
       //won[player] = true; 
       game = true; 
       System.out.println("Player #" + player + ": Correct!"); 
       break; 
      } else if (guess < numGuess) { 
       System.out.println("Player #" + player + ": Too low!"); 
      } else if (guess > numGuess) { 
       System.out.println("Player #" + player + ": Too high!"); 
      } 
     //} 

    } 

    //for (int i = 0; i < playerCount; i++) 
    // if (won[i] == true) 
    //  game = true; 
} 
+0

Спасибо, это немного помогло, но как только правильная догадка угадана, она снова возвращается к игроку. Он не говорит «правильно», а затем переключается на игрока 2. –

+0

Разве это не то, что вы хотели? Как только кто-то догадывается правильно, другие игроки все равно догадываются, пока они не верны. –

+0

Возможно, я был немного неясен в своем первоначальном посте, извините. Я имею в виду, что когда игрок угадывает номер, «правильный» не отображается, и он не переключается на игрока 2. –

Смежные вопросы