В первой игре «Гонки» весьма точно воссоздает-
воссоздается атмосфера автомобильных гонок. Изобретатель игры
не известен.
Играют в «Гонки» на листе бумаги в клеточку.
Прежде всего необходимо начертить «трек». Он должен быть
достаточно широким, чтобы в нем свободно умещались
автомобили «гонщиков». Трек может быть любой длины
и формы, но чтобы «Гонки» были интереснее, следует
включить в него несколько крутых поворотов.
Каждый гонщик «вооружается» карандашом своего
цвета. Машины выстраиваются на старте
(участники игры ставят точки в узлах сетки, расположенных
на одной горизонтали). Мы для простоты
будем рассматривать случай, когда в гонках участвуют
лишь две машины. Кому отправляться первым, решает
жребий. В партии, изображенной на рис., первый
ход делает гонщик, изображающий свой путь толстой
линией.
![Трасса](44770.png)
Может быть, вы подумали, что дальнейшие ходы
определяются с помощью датчика случайных чисел? Ни-
Ничуть не бывало! Каждый гонщик, дождавшись своего
хода, движется вперед по треку от одного узла сетки
к другому, придерживаясь следующих трех правил:
1. Новый узел и отрезок прямой, соединяющий его
с предыдущим узлом, не должны выходить за пределы
трека.
2. Две машины не могут одновременно находиться
в одном и том же узле сетки. Иначе говоря, второе
правило запрещает столкновение машин. Например, в пар-
партии, изображенной на рис., гонщик, ведущий
тонкую линию, предпочел бы на 22-м ходу занять узел,
в котором оказался на 22-м ходу его противник, но,
поскольку правилами игры столкновение запрещено, он
вынужден свернуть в сторону.
3. Разгон и торможение регулируются следующим
остроумным способом. Предположим, что на предыдущем
ходу вы переместились на `k` единиц по вертикали и на
`m` единиц по горизонтали, а при очередном ходе —
на `k'` единиц по вертикали и на `m'` единиц по
горизонтали. Согласно третьему правилу, модуль разности
между `k` и `k'` должен быть равен либо 0, либо 1 (иначе
говоря, разности `k —k'` разрешается принимать
значения — 1, 0 и +1). Модуль разности `m — m'` также
может быть равен 0 или 1. Таким образом, каждый гонщик
либо сохраняет скорость, либо изменяет ее на единицу
по вертикали (вверх или вниз — безразлично) и по
горизонтали (вправо или влево). Следовательно, третье
правило разрешает каждому гонщику на первом ходу
удалиться от его места на старте не более чем на одну
единицу по вертикали, горизонтали или на длину
диагонали единичного квадрата.
Выигрывает тот из гонщиков, кто первым пересечет
линию финиша. Гонщик, столкнувшийся с машиной
соперника или оказавшийся за пределами трека, выбывает
из игры. На рис. гонщик, ведущий толстую линию,
при прохождении первого «виража» тормозит слишком
медленно и его заносит так сильно, что он едва не
врезается в «стенку» трека. Зато он великолепно проходит
второй вираж и выигрывает гонки, пересекая линию
финиша на один ход раньше своего соперника.