Задачу уже решил, но не дают покоя некоторые вопросы.
Так как сайт не дает выложить все решение, то напишу вопрос тут:
В классе OnlineGame
//Вопрос 1. Как я понял из комментариев, без этого цикла Валидатор не принимает решение. Что тут должно быть по логике?
while (!OnlineGame.isWinnerFound) {
break;
}
//Вопрос 2. Зачем это тут нужно? если раскомментировать, то у меня игроки сразу "проигрывают" без игры (без steps)
/*
gamer1.interrupt();
gamer2.interrupt();
gamer3.interrupt();*/
}
вот метод RUN класса Gamer
try {
for (тут типа цикл по steps) {
Thread.sleep(1000 / this.rating);
System.out.println(getName() + ":" + OnlineGame.steps.get(i));
}
if (!OnlineGame.isWinnerFound) {
OnlineGame.isWinnerFound = true;
System.out.println(getName() + ":победитель!");
} else throw new InterruptedException();
} catch (InterruptedException e) {
System.out.println(getName() + ":проиграл");
}