-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
fcc27d1
commit cdd10be
Showing
7 changed files
with
218 additions
and
26 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Binary file added
BIN
+2.99 KB
out/production/3.JavaMultithreading/com/javarush/task/task21/task2113/Hippodrome.class
Binary file not shown.
Binary file added
BIN
+1.42 KB
out/production/3.JavaMultithreading/com/javarush/task/task21/task2113/Horse.class
Binary file not shown.
91 changes: 91 additions & 0 deletions
91
out/production/3.JavaMultithreading/com/javarush/task/task21/task2113/Условие.jrtc
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,91 @@ | ||
taskKey="com.javarush.task.task21.task2113.big15"\n\nИпподром(15) | ||
|
||
Добавим определение победителя. | ||
В классе Hippodrome сделаем два метода: | ||
public Horse getWinner() и public void printWinner() | ||
|
||
Метод getWinner должен возвращать лошадь пробежавшую самую большую дистанцию. | ||
Метод printWinner выводит на экран имя победителя в виде: | ||
Winner is <name>! | ||
Пример: | ||
Winner is Lucky! | ||
|
||
|
||
|
||
Требования: | ||
1. В классе Hippodrome должен быть создан метод getWinner без параметров. | ||
2. В классе Hippodrome должен быть создан метод printWinner без параметров. | ||
3. Метод getWinner должен возвращать лошадь пробежавшую наибольшую дистанцию. | ||
4. Метод printWinner должен выводить на экран имя победителя на экран в формате заданном в условии задачи. | ||
|
||
|
||
Ипподром(14) | ||
|
||
Запускаем и любуемся. | ||
У нас каждые полсекунды отображается новый кадр с ситуацией на ипподроме. | ||
Мышкой уменьши размер консоли так, чтобы был виден только один "кадр" и на том же самом месте. | ||
Тогда можно наблюдать забег в живую и даже покомментировать: | ||
- Старт. | ||
- Гомер неожиданно обходит Лаки. | ||
- Слевин вырывается вперед. | ||
- Вперед Лаки! | ||
- 10 баксов на Слевина. | ||
- Похоже Лаки сбросил жокея и расслабился. | ||
- Гомер уверенно вырывается вперед. | ||
- Неожиданно для всех побеждает Гомер. Вот это номер! | ||
|
||
|
||
|
||
|
||
Ипподром(13) | ||
|
||
Теперь вернемся к методу print класса Horse. | ||
Т.к. мы работаем с консолью, то все лошади на бегах будут выглядеть примерно так: | ||
........Slevin | ||
....Lucky | ||
..........Homer | ||
|
||
Другими словами, в методе print надо вывести на экран строку состоящую из точек и имени лошади. | ||
Количество точек равно distance, округленному(в меньшую сторону) до целого числа. | ||
|
||
|
||
|
||
|
||
Ипподром(12) | ||
|
||
Осталось совсем немного - дописать класс Horse. | ||
Каждый ход у лошади будет вызываться метод move. | ||
Когда у лошади вызывают метод move, лошадь должна пробежать некоторую дистанцию. | ||
Дистанция зависит от скорости лошади (speed). В самом простом варианте, выглядеть этот метод должен примерно так: | ||
distance += speed; | ||
|
||
Но, чтобы было интереснее, давай сделаем так, чтобы скорость все время немного менялась. | ||
Для этого умножь speed на случайное число. | ||
Случайное число можно получить с помощью метода Math.random(). | ||
|
||
|
||
|
||
Ипподром(11) | ||
|
||
С классом Hippodrome почти закончили. | ||
Добавь в конец метода main вызов run(). | ||
|
||
Подсказка: | ||
run() - это нестатический метод, поэтому вызвать его можно только у объекта. | ||
А где взять объект? | ||
|
||
Подсказка 2: | ||
game.run(); | ||
|
||
|
||
|
||
|
||
Ипподром(10) | ||
|
||
Еще нужно написать метод print класса Hippodrome. | ||
В нем тоже все просто: в цикле для каждой лошади вызываем ее метод print. | ||
Ну, и еще выведи после цикла 10 пустых строк: System.out.println() - чтобы было красивее. | ||
|
||
|
||
|
||
|