Уже нет сил переделывать по десять раз уже решенные задачи ((
Ну как тут может не проходить условие?
package com.javarush.task.task21.task2113;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
public class Hippodrome {
public static Hippodrome game;
private List<Horse> horses;
public Hippodrome(){}
void move(){
for (Horse horse : horses){
horse.move();
}
}
void print(){
for (Horse horse : horses){
horse.print();
}
for (int i = 0; i <10 ; i++) {
System.out.println();
}
}
void run() throws InterruptedException {
for (int i = 0; i < 100; i++) {
move();
Thread.sleep(200);
print();
}
}
public Hippodrome(List<Horse> horses) {
this.horses = horses;
}
public List<Horse> getHorses() {
return horses;
}
public Horse getWinner(){
return horses.stream()
.max(Comparator.comparingDouble(Horse::getDistance))
.get();
}
public void printWinner(){
System.out.println("Winner is "+getWinner().getName()+"!");
}
public static void main(String[] args) throws InterruptedException {
List<Horse> horses = new ArrayList<Horse>();
horses.add(new Horse("Sprinter", 3, 0));
horses.add(new Horse("Flash", 3, 0));
horses.add(new Horse("Thunder", 3, 0));
game = new Hippodrome(horses);
game.run();
game.printWinner();
}
}