Поля, в которых вы собираетесь хранить данные для каждого игрока, static
. Это противоречит их предполагаемому использованию.
Если у вас есть 5 экземпляров вашего класса, static int Turns;
заставляет поле существовать только один раз. Удаление static
дает каждому экземпляру отдельное поле, которое вам нужно.
(Кстати, имена полей в Java обычно начинаются со строчной буквы, поэтому лучше использовать turns
вместо Turns
. )
Если вы превратите
static int Turns;
static boolean Won;
static String Name;
static int Winnings;
в
int turns;
boolean won;
String name;
int winnings;
, вы увидите, что ваш основной l oop больше не работает.
Таким образом, вы должны добавить локальные переменные в свои main()
:
int turns = 0;
boolean won = false;
String name;
int winnings;
Значения won
и turns
должны быть получены как чистым способом, так и winnings
. (Может быть, вы хотите сделать их отдельным классом GameResult
, который возвращается play()
.)
Тогда вы можете сделать
player[pl]= new Minesweeper(won,turns,pName,winnings);
(Кстати, имя должно быть помещено первым , но это вопрос стиля.)