Racer

Рекомендованный уровеньУровень
10+
Вы когда-нибудь играли в видеоигру Speed Race? Не уверены? А, быть может, Wheels? «Автослалом»? Хорошо, а в такую игру, где вы управляете машинкой, едете на большой скорости и попутно уворачиваетесь от других машин и разных, порою очень нелогичных, препятствий? Думаем, хоть одни гоночки с препятствиями вам в вашей геймерской жизни попадались! Подобных игрушек не счесть, и они всегда были очень популярны, благодаря простым правилам и азарту. Первые представители жанра появились ещё в эпоху аркадных автоматов и позволяли, в том числе, устраивать соревнования с друзьями. А однажды, в 1981 году, подобную игру создал сам Билл Гейтс вместе с Нейлом Конценом. Называлась она Donkey.bas (расширение .bas сигналит о том, что глава Microsoft использовал язык BASIC для её написания) и входила в ранние версии PC DOS, операционной системы, которая нынешним детям может только в страшных снах присниться… В Donkey.bas, водитель машинки (игрок) должен избегать столкновения с ослами, то и дело неожиданно возникающими на дорогах. Ситуация, знакомая любому водителю! Давайте и мы тоже вслед за создателем Microsoft создадим похожую игрушку. Только не на BASIC, разумеется, да и без серых непарнокопытных обойдёмся. Будем круче, используем нашу любимую Java. Назовём игру, допустим, Racer. В ней, помимо игрока, который умеет рулить вправо и влево, а также ускоряться, будут присутствовать движущиеся по горизонтали и вертикали объекты — другие машины, а также неподвижные препятствия. Цель — добраться до финишной линии, не врезавшись ни в один из этих объектов. Финишная черта появится через какое-то определённое количество препятствий. Это не так сложно, как вам кажется, но придётся постараться. Мы на JavaRush уже разбили этапы разработки на понятные начинающим программистам шаги. Приступим?
Комментарии (30)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
LuneFox24 уровень, Москва
6 June, 21:29
Доделаль. «Назад в будущее России» Пародийный вариант гонок с машиной из известного фильма :)
Сергей Половых19 уровень, Москва
14 May, 06:08
https://javarush.ru/projects/apps/113403 оцените, стрелка назад замедляет , стрелка вперед ускоряет!
LuneFox24 уровень, Москва
4 June, 00:02
Игра не опубликована
Сергей Половых19 уровень, Москва
4 June, 05:18
Опубликовал, стрелка назад уже не задействована
Alex Frost24 уровень, Санкт-Петербург
18 April, 12:51
Знатоки! Вопрос: как правильно/менее затратно отдельно проверять условия для обочины, дороги, полосы и красить их в соответствующие цвета или тупо красить всю дорогу в серый цвет от 0 до WIDTH, а потом уже обочину и полосу перекрашивать поверх? Т.е. не проверять условие для ширины дороги.
Антоний Шаламов18 уровень, Хабаровск
24 May, 00:12
Вложенный цикл, где для каждой ячейки проверяется её принадлежность к тому или иному элементу и окрашивание её в цвет соответствующего элемента. Это для статичных элементов(дорога, обочина, и две полосы между дорогой и обочиной).
Vladimir Galkov30 уровень, Самара
4 February, 15:48
да и ещё в догонку... а почему в заданиях, использующих заведомо мелкие переменные типа найти рандом от 1 до 100 продолжают использовать тип int? когда .. ну как минимум для школярской работы хорошо бы принудить short или byte использовать. :)
kto_to35 уровень
23 February, 16:15
А вы уверены что хорошо было бы? По-моему когда выполняется как минимум операция + (не помню что там с -) с типами ниже int'a, все типы всё равно приводятся к int'у. Если этих переменных не много (относительно мощности ПК наверно стоит рассматривать), если они не хранятся в базе данных или на жёстком диске, то не стоит использовать short или byte вместо int. Процессору чаще всего удобнее работать именно с int'ом, по этому работая даже с byte, char и т.п. они всё равно приводятся к int. Есть даже рекомендации когда стоит использовать что-то кроме int'a без особой надобности.
Vladimir Galkov30 уровень, Самара
23 February, 16:41
я бы так сказал, что половина примеров тут не жизненны.. такова судьба системы обучения - никто не будет в два цикла сортировать массив, когда можно написать Arrays.sort(array); и вообще никогда больше не вспоминать ни про пузырьки ни про что-то ещё... т.е. через пару лет письма кода вообще забудет что это такое и встречая сортировку в 2а цикла каждый будет подозревать, что это какая-то хитрая сортировка и будет терять на разбор этого кода при поиске ошибок... так же и про использование типов - в жизни лучше даже не пробовать использовать что-то меньше int из-за side эффектов приведения типов. но это учебный сайт и закладывать рогатки, которые НЕЛЬЗЯ применять в коде, развиваемом несколькими людьми, но которые работают - хорошая идея. из-за неизбежных мучений с side эффектами. я не хочу в жизни видеть эти short и byte в арифметических выражениях, кроме вывода данных во внешнюю базу. Да и то тестирование и дебаг в этих случаях будет расти из-за сомнительной экономии пары мегабайт в памяти...
novator0 уровень
29 January, 20:02
круто
Vlad20071 уровень, Киев
19 January, 13:13
клас
Phoenix-wrc11 уровень, Владивосток
12 January, 11:21
У меня на 11 уровне в описании написано что добавилось много всего. По факту ни чего не добавилось((
Anton20 уровень, Сочи
7 January, 19:36
Alexander Artamonov38 уровень, г Ишимбай
15 November 2019, 10:33
147 :))
Sanga nima ismim?1 уровень, san nima qilasan shaharimi
24 October 2019, 12:28
класные задачы