Гонки (игра) — Википедия

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

Правила игры

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

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

Подготовка

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

Начало игры

[править | править код]

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

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

[править | править код]
Возможные ходы в простом варианте
Возможные ходы в векторном варианте

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

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

[править | править код]

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

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

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

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

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

[править | править код]

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

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

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

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

Альтернативный вариант

[править | править код]

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

Другие варианты

[править | править код]

Также существует способ передвижения, при котором машина при скорости n может перемещаться на n − 1, n, n + 1 клеток в том же направлении (в любом при n = 0), на n − 2, n − 1, n при повороте на 45 градусов, n − 3, n − 2, n − 1 при повороте на прямой угол и так далее, при n не меньше 1.

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

[править | править код]

Иногда невозможно избежать схода с трассы.

  • Проще всего считать, что сошедшая с трассы машина «убивает себя об стену», а соответствующий игрок — выходит из игры.
  • Гуманнее было бы представить себе, что трассу окружает песок, перемещение по которому возможно только с минимальной скоростью. Более точно, если на некотором ходу машина прошла через песок, то на следующем она может двигаться только ходом короля.
  • Либо после столкновения машина возвращается на ближайшую точку трассы, а скорость следующего хода 1.

Аналогично поступают со столкновениями машин. Существуют следующие варианты правил:

  • Можно вообще запретить ставить машину туда, где уже находится другая машина.
  • Можно разрешить, но с «наказанием» за столкновение: та машина, по вине которой произошло столкновение, пропускает один ход (вариант: полностью останавливается).
  • Более хитрое правило: машина, по вине которой произошло столкновение, останавливается, но передаёт свою скорость другой машине.
  • Наконец, можно разрешить машинам свободно проходить друг через друга.
  • Гонки — бумажная версия игры с готовыми полями и подробными правилами, на сайте www.Printfun.ru (простой вариант).
  • http://www.vectorracer.net — реализация игры «Гонки» на языке JavaScript (векторный вариант).
  • http://blog.eorteam.com/calc/mapgen/ - онлайн генератор трасс