Racer

Рекомендованный уровеньУровень
10+
Вы когда-нибудь играли в видеоигру Speed Race? Не уверены? А, быть может, Wheels? «Автослалом»? Хорошо, а в такую игру, где вы управляете машинкой, едете на большой скорости и попутно уворачиваетесь от других машин и разных, порою очень нелогичных, препятствий? Думаем, хоть одни гоночки с препятствиями вам в вашей геймерской жизни попадались! Подобных игрушек не счесть, и они всегда были очень популярны, благодаря простым правилам и азарту. Первые представители жанра появились ещё в эпоху аркадных автоматов и позволяли, в том числе, устраивать соревнования с друзьями. А однажды, в 1981 году, подобную игру создал сам Билл Гейтс вместе с Нейлом Конценом. Называлась она Donkey.bas (расширение .bas сигналит о том, что глава Microsoft использовал язык BASIC для её написания) и входила в ранние версии PC DOS, операционной системы, которая нынешним детям может только в страшных снах присниться… В Donkey.bas, водитель машинки (игрок) должен избегать столкновения с ослами, то и дело неожиданно возникающими на дорогах. Ситуация, знакомая любому водителю! Давайте и мы тоже вслед за создателем Microsoft создадим похожую игрушку. Только не на BASIC, разумеется, да и без серых непарнокопытных обойдёмся. Будем круче, используем нашу любимую Java. Назовём игру, допустим, Racer. В ней, помимо игрока, который умеет рулить вправо и влево, а также ускоряться, будут присутствовать движущиеся по горизонтали и вертикали объекты — другие машины, а также неподвижные препятствия. Цель — добраться до финишной линии, не врезавшись ни в один из этих объектов. Финишная черта появится через какое-то определённое количество препятствий. Это не так сложно, как вам кажется, но придётся постараться. Мы на JavaRush уже разбили этапы разработки на понятные начинающим программистам шаги. Приступим?
Комментарии (35)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
человек хех0 уровень
суббота, 07:20
хех
Giliazova13 уровень
26 августа, 11:18
На 6й задаче: В методе drawScene() у объекта roadMarking должен быть вызван метод draw(Game). В качестве параметра метода используй this. Написала: roadMarking.draw(Game this); Не компилируется, пишет, что нужна скобка, но где нужна? Пробовала ставить в разные места, та же ошибка.
Giliazova13 уровень
26 августа, 11:31
Помог ответ Диего: roadMarking.draw(this);
Евгений 22 уровень, Иваново
19 июля, 10:56
https://javarush.ru/projects/apps/87280 Всем привет. Можно пострелять по машинам- жми пробел. Только очков тогда меньше заработаешь. Добавил привидение, которое нельзя убить. Новая игра - жми пробел.
Oleg 18 уровень, Санкт-Петербург
11 июля, 15:34
Гонки с пешеходами ахаха https://javarush.ru/projects/apps/122818
LuneFox25 уровень, Москва
6 июня, 21:29
Доделаль. «Назад в будущее России» Пародийный вариант гонок с машиной из известного фильма :)
Сергей Половых19 уровень, Москва
14 мая, 06:08
https://javarush.ru/projects/apps/113403 оцените, стрелка назад замедляет , стрелка вперед ускоряет!
LuneFox25 уровень, Москва
4 июня, 00:02
Игра не опубликована
Сергей Половых19 уровень, Москва
4 июня, 05:18
Опубликовал, стрелка назад уже не задействована
Alex Frost24 уровень, Санкт-Петербург
18 апреля, 12:51
Знатоки! Вопрос: как правильно/менее затратно отдельно проверять условия для обочины, дороги, полосы и красить их в соответствующие цвета или тупо красить всю дорогу в серый цвет от 0 до WIDTH, а потом уже обочину и полосу перекрашивать поверх? Т.е. не проверять условие для ширины дороги.
Антоний Шаламов19 уровень, Хабаровск
24 мая, 00:12
Вложенный цикл, где для каждой ячейки проверяется её принадлежность к тому или иному элементу и окрашивание её в цвет соответствующего элемента. Это для статичных элементов(дорога, обочина, и две полосы между дорогой и обочиной).
Vladimir Galkov30 уровень, Самара
4 февраля, 15:48
да и ещё в догонку... а почему в заданиях, использующих заведомо мелкие переменные типа найти рандом от 1 до 100 продолжают использовать тип int? когда .. ну как минимум для школярской работы хорошо бы принудить short или byte использовать. :)
kto_to35 уровень
23 февраля, 16:15
А вы уверены что хорошо было бы? По-моему когда выполняется как минимум операция + (не помню что там с -) с типами ниже int'a, все типы всё равно приводятся к int'у. Если этих переменных не много (относительно мощности ПК наверно стоит рассматривать), если они не хранятся в базе данных или на жёстком диске, то не стоит использовать short или byte вместо int. Процессору чаще всего удобнее работать именно с int'ом, по этому работая даже с byte, char и т.п. они всё равно приводятся к int. Есть даже рекомендации когда стоит использовать что-то кроме int'a без особой надобности.
Vladimir Galkov30 уровень, Самара
23 февраля, 16:41
я бы так сказал, что половина примеров тут не жизненны.. такова судьба системы обучения - никто не будет в два цикла сортировать массив, когда можно написать Arrays.sort(array); и вообще никогда больше не вспоминать ни про пузырьки ни про что-то ещё... т.е. через пару лет письма кода вообще забудет что это такое и встречая сортировку в 2а цикла каждый будет подозревать, что это какая-то хитрая сортировка и будет терять на разбор этого кода при поиске ошибок... так же и про использование типов - в жизни лучше даже не пробовать использовать что-то меньше int из-за side эффектов приведения типов. но это учебный сайт и закладывать рогатки, которые НЕЛЬЗЯ применять в коде, развиваемом несколькими людьми, но которые работают - хорошая идея. из-за неизбежных мучений с side эффектами. я не хочу в жизни видеть эти short и byte в арифметических выражениях, кроме вывода данных во внешнюю базу. Да и то тестирование и дебаг в этих случаях будет расти из-за сомнительной экономии пары мегабайт в памяти...
novator0 уровень
29 января, 20:02
круто
Vlad20071 уровень, Киев
19 января, 13:13
клас