Racer

Рекомендованный уровеньуровень
10+
Вы когда-нибудь играли в видеоигру Speed Race? Не уверены? А, быть может, Wheels? «Автослалом»? Хорошо, а в такую игру, где вы управляете машинкой, едете на большой скорости и попутно уворачиваетесь от других машин и разных, порою очень нелогичных, препятствий? Думаем, хоть одни гоночки с препятствиями вам в вашей геймерской жизни попадались! Подобных игрушек не счесть, и они всегда были очень популярны, благодаря простым правилам и азарту. Первые представители жанра появились ещё в эпоху аркадных автоматов и позволяли, в том числе, устраивать соревнования с друзьями. А однажды, в 1981 году, подобную игру создал сам Билл Гейтс вместе с Нейлом Конценом. Называлась она Donkey.bas (расширение .bas сигналит о том, что глава Microsoft использовал язык BASIC для её написания) и входила в ранние версии PC DOS, операционной системы, которая нынешним детям может только в страшных снах присниться… В Donkey.bas, водитель машинки (игрок) должен избегать столкновения с ослами, то и дело неожиданно возникающими на дорогах. Ситуация, знакомая любому водителю! Давайте и мы тоже вслед за создателем Microsoft создадим похожую игрушку. Только не на BASIC, разумеется, да и без серых непарнокопытных обойдёмся. Будем круче, используем нашу любимую Java. Назовём игру, допустим, Racer. В ней, помимо игрока, который умеет рулить вправо и влево, а также ускоряться, будут присутствовать движущиеся по горизонтали и вертикали объекты — другие машины, а также неподвижные препятствия. Цель — добраться до финишной линии, не врезавшись ни в один из этих объектов. Финишная черта появится через какое-то определённое количество препятствий. Это не так сложно, как вам кажется, но придётся постараться. Мы на JavaRush уже разбили этапы разработки на понятные начинающим программистам шаги. Приступим?
Комментарии (69)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Vlad V
Уровень 35
17 апреля, 12:16
А почему в этой игре все по встречке едут?
Gans Electro
Уровень 46
3 мая, 15:50
Это с какой стороны смотреть...😂
Vlad V
Уровень 35
13 июля, 16:21
та я имел ввиду что по обе стороны от разделительной полосы все в одну сторону едут
Kirill Java Developer
13 февраля, 14:47
У кого игра при компиляции в IDEA выдает NullPointerException и ничего не выводит на экран: В методе Initialize() класса RacerGame удалите или задокументируйте вызов метода drawScene()! Он должен вызываться только в createGame().
@Override
    public void initialize() {
        showGrid(false);
        setScreenSize(WIDTH, HEIGHT);
        //drawScene();
        createGame();
При текущей конфигурации в методе drawScene() осуществляется вызов методов соответствующих объектов, но их состояние - null, так как их инициализация проводиться в методе createGame() => отсюда и получаем исключение NullPointer. Если валидатор будет настойчиво требовать вызов этого метода в данном месте, можно просто раздокументировать, пройти валидацию и снова его выключить.
STEPASHKINS
Уровень 34
31 января, 18:17
Люди добрые, подскажите как запустить программу, чтобы хоть поглядеть на процесс создания игры, если кнопка пуска неактивна(нет метода мэйн), jdk установлен . Куда этот мэйн пихнуть правильно
Kirill Java Developer
13 февраля, 14:52
Для запуска нужен переопределенный метод initialize()
@Override
    public void initialize() {
        showGrid(false);
        setScreenSize(WIDTH, HEIGHT);
        drawScene();
        createGame();
Но в нем есть баг, в коментарии выше я описал как с ним быть)
Ivan Sevastianov
Уровень 33
5 августа 2022, 06:43
Странно, почему вот так не принимает: public void move(){ switch (direction){ case LEFT: x--; case RIGHT: x++; } } То же самое, что и через If. Ругается только на LEFT...
Valkery
Уровень 41
17 августа 2022, 13:07
потому что switch брейкать надо
JavaPlayerPro999 Android Developer в Genesis
28 мая 2022, 14:29
18/28 +10 28
9 мая 2022, 10:59
24 шаг. Впервые за 600 задач использовал кнопку "Правильное решение". Ничего не помогало победить 3 пункт.
hidden #3171829
Уровень 6
27 сентября 2022, 18:39
Пааанты:)
LevPM
Уровень 49
8 января 2022, 19:41
https://javarush.com/projects/apps/310863 Моя версия SpaceRacer :)
hurram
Уровень 1
25 июля 2021, 08:14
7/28
hurram
Уровень 1
25 июля 2021, 08:14
игра хорошо можна играть!
Mike-L
Уровень 43
19 мая 2021, 18:25
Условие 6/28 для тех кто делает игру через WebIDE - вот этот ср@нный класс нужно создать самому лично
public class RoadMarking {
    private List<GameObject> roadMarking = new ArrayList<>();
//ваш код в нем
}
и этот тоже
public class ShapeMatrix {
    public static final int[][] ROAD_MARKING = new int[][]{
      //ваш код
    };
}