А конкретно эти строки:
public void run() {
try {
for (int i = 0; i < OnlineGame.steps.size(); i++) {
System.out.println(this.getName() + ":" + OnlineGame.steps.get(i));
Thread.sleep(1000 / rating);
}
if(!OnlineGame.isWinnerFound) {
System.out.println(this.getName() + ":победитель!");
OnlineGame.isWinnerFound = true;
}
} catch (InterruptedException e) {
System.out.println(this.getName() + ":проиграл");
}
}
1. Как тут определяется победитель? Тот, у кого sleep быстрее отработает и сразу после этого интерапнет остальных gamer'ов?
2. Как работает строка "if(!OnlineGame.isWinnerFound)"? (изначально isWinnerFound = false)