Задание 42. написать программу играющую в игру гонки на бумаге

В игре ГОНКИ весьма точно воссоздается атмосфера автомобильных гонок. Играют на листе бумаги в клетку, где рисуется “трек” (см. рис.).

Задание 42. написать программу играющую в игру гонки на бумаге

Играют несколько человек, на рис. показано двое играющих, каждый из которых движется, придерживаясь следующих правил:

1. новый узел и отрезок прямой, соединяющей его с предыдущим узлом, не должен выходить за пределы трека;

2. две машины не могут одновременно находиться в одном узле сетки;

3. разгон и торможение регулируются следующим способом: изменение скорости по вертикали и горизонтали должно быть за один ход не более, чем на одну клетку. Таким образом, гонщик либо сохраняет скорость, либо меняет на одну клетку по горизонтали (вправо или влево), либо по вертикали (вверх или вниз). Следовательно, со старта разрешается удаляться не более, чем на одну клетку.

Выигрывает тот, кто первым пересечет финиш. Гонщик, столкнувшийся с машиной соперника, или вышедший за пределы трека, выбывает из игры. Когда вы освоитесь с основным вариантом игры, можно будет разнообразить трассу введением следующих элементов:

u трамплин — позволяет “подпрыгивать” и пролетать над разнообразными препятствиями. Полет длится до точки следующего хода;

u резиновый отбойник — позволяет не разбивать машину, а ее скорость меняется по закону падающего и отраженного луча. (угол падения равен углу отражения). Для простоты рекомендуется делать отбойники горизонтальными или вертикальными;

u глушилка — аналог отбойника, но при столкновении с глушилкой скорость падает до 0;

u подъем — спуск. Вы можете придать трассе некоторую рельефность. Подьемы и спуски выделяются на трассе как отдельные зоны, которые ограничиваются пунктирной линией. Направление спуска/подъема указывается стрелкой и может быть горизонтальным, вертикальным или диагональным. К скорости вашей машины, попавшей в зону спуска/подъема, добавляется соответственно его направлению 1 клетка.

u Супер-горка. Аналогично подъему, спуску, но к скорости машин добавляется две клетки. Обозначается двойной стрелкой.

Правила игры

Задание 42. написать программу играющую в игру гонки на бумаге

Партия игры в гонки, векторный вариант. Первым ходит и выигрывает игрок с чёрной ручкой.

Существует большое количество вариантов правил. Многие добавляют свои ограничения или бонусы для улучшения игры.

Подготовка

  • Сначала на бумаге произвольным образом рисуется трасса, отмечаются линии старта (и финиша, если трасса не является кольцевой), выбирается направление движения. Для начала можно попробовать сыграть на простой круговой трассе, а затем перейти на что-нибудь посложнее.
  • Можно расставить на трассе различные препятствия (маленькие островки, ямки), затрудняющие движение с большой скоростью.
  • Игроки договариваются об очередности ходов, затем по очереди ставят «машины» — точки разных цветов (либо отмечают их разными значками, например «Х», «О», жирная точка, треугольник и т. д.) — на линии старта. Машины можно ставить только в узлы сетки; две машины не могут находиться в одной точке.
  • Так как правила определены, игрок, стартовавший первым, может просчитать свое движение сразу до финиша. Чтобы этого не произошло, можно сверху накрыть трассу другим листком с заранее вырезанным окошком, чтобы одновременно была видна лишь часть трассы.

Начало игры

После этого игроки по очереди передвигают машины (как именно — см. ниже). Как только каждый игрок сделал по ходу, заканчивается «первая фаза». После нее наступает вторая, третья и т. д. Считается, что последняя на некоторый момент фаза — «настоящее», предыдущие — «прошлое», причём в пределах одной фазы все машины двигаются одновременно. Например, если в пределах одной и той же фазы две машины пришли к финишу, считают, что игра сыграна вничью.

Принцип движения

Задание 42. написать программу играющую в игру гонки на бумаге

Возможные ходы в простом варианте

Задание 42. написать программу играющую в игру гонки на бумаге

Возможные ходы в векторном варианте

Существует три совершенно различных способа передвижения машин.

Простой вариант

Если на предыдущем ходу машина не двигалась, она может переместиться в любую из 8 соседних точек на 1 клетку (скорость 1) в пределах трассы. Новое положение отмечается, между старой и новой позицией проводится линия.

В противном случае машина может проехать со скоростью, отличающейся не более чем на 1 от скорости в предыдущей фазе. Например, на рисунке скорость первого хода 3, на втором ходу движение возможно на 2, 3 или 4 клетки.

Двигаться можно в трёх направлениях (на рисунке они отмечены зеленым цветом. Запрещено движение в обратную сторону и резкие повороты более чем на 90 градусов — на рисунке отмечены красным цветом)

На новом месте, где оказалась машина, ставится её знак, который соединяется с ее предыдущей позицией. Новая точка должна лежать на трассе, а соединяющая линия — не пересекать границу трассы (касание не считается пересечением).

Векторный вариант

Этот способ принципиально отличается от предыдущего, и в нём вообще не используются такие понятия, как скорость и поворот.

Если на предыдущем ходу машина не двигалась, то на следующем она точно так же может преместиться в любую из восьми соседних точек.

В противном случае поступают следующим образом. Сначала определяют точку, куда попадёт машина по инерции, для чего откладывают от положения машины столько же клеток по горизонтали и вертикали, сколько она проехала на предыдущем ходу. Полученное положение можно отметить еле заметной точкой. Игрок может сделать эту предварительную точку окончательной или отступить от неё в любом из 8 направлений на одну клетку. Затем между новым и старым положением проводится линия.

Также существует более сложная для управления вариация — когда от предварительной точки разрешается отступить не на 8 соседних точек, а на 4: вверх, вправо, вниз и влево (остаться на предварительной точке тоже допустимо). Тогда, если первую вариацию назвать вариацией по квадрату, эту можно назвать вариацией по кресту.

10 Лучших ГОНОЧНЫХ ИГР на пк и консоли / Игры про ГОНКИ и АВТОМОБИЛИ


Похожие статьи.

Понравилась статья? Поделиться с друзьями: