Найти в Дзене

Игра «Разбрызгиватель точек»

Автор игры: Уолтер Джорис. Два игрока играют на игровом поле 6×6. По очереди игроки рисуют цифру 1, потом цифру 2, затем 3 и 4. Один игрок обозначает свои цифры (либо цветом, либо обводя кружком). После этого игроки по очереди ставят точку где-нибудь в 8 окружающих свою цифру клетках. Единица дает одну точку, двойка - еще две точки и так далее. Ходят по очереди и начинают с 1 по 4. Когда это закончится, начинают снова с 1 по 4, пока игра не станет невозможной. Если один из игроков заблокирован, он должен пропустить свой ход. Конечно, стратегически важно блокировать противника. Поэтому игрок без кружков 2 расставляет свои точки на возможном месте 4 игрока в кружках. После заполнения всех возможных клеток определяется результат игры. На примере слева: у игрока в кружочках – 14 точек (черные), у игрока с обычными цифрами – 13 (белые). То есть первый игрок победил со счетом 14:13. Игру можно проводить на полях большего размера (например, 8×8 или 10×10). Стоит ли использовать доску 9×9? Нав

Автор игры: Уолтер Джорис.

Два игрока играют на игровом поле 6×6.

По очереди игроки рисуют цифру 1, потом цифру 2, затем 3 и 4. Один игрок обозначает свои цифры (либо цветом, либо обводя кружком).

После этого игроки по очереди ставят точку где-нибудь в 8 окружающих свою цифру клетках. Единица дает одну точку, двойка - еще две точки и так далее.

Ходят по очереди и начинают с 1 по 4. Когда это закончится, начинают снова с 1 по 4, пока игра не станет невозможной.

Если один из игроков заблокирован, он должен пропустить свой ход.

Конечно, стратегически важно блокировать противника. Поэтому игрок без кружков 2 расставляет свои точки на возможном месте 4 игрока в кружках.

-2
-3

После заполнения всех возможных клеток определяется результат игры. На примере слева: у игрока в кружочках – 14 точек (черные), у игрока с обычными цифрами – 13 (белые). То есть первый игрок победил со счетом 14:13.

Игру можно проводить на полях большего размера (например, 8×8 или 10×10). Стоит ли использовать доску 9×9? Наверное, если запретить выставлять цифры в центральное поле. Также можно использовать поля другой формы, включая замкнутые, чтобы избежать эффектов граничных ограничений. Очевидно, что на больших полях надо использовать больший набор цифр, например, от 1 до 6. Увеличивать этот набор до 8 и выше нецелесообразно, так как поставить больше восьми точек вокруг цифры на двумерном квадратном поле не получится.

Отдельной вариацией может быть изменение шага цифр наборе, например, 1-1-2-3. Здесь только надо каким-то образом различать первую «1» от второй «1».

При расставленных цифрах в начале игры оптимальное размещение точек определяется методом «минимакса», то есть каждая позиция цифр на поле имеет свою цену игры. Поэтому основная борьба за результат игры ведётся при последовательной расстановке цифр в начале игры.

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

Для каждой свободной клетки для рассматриваемой цифры рассчитывается оценочная функция. В данном случае:

оценочная функция - это удвоенное количество цифр соперника, которые граничат с оцениваемой клеткой минус количество своих цифр рядом с этой клеткой. То есть выгоднее делать ходы, которые ограничивают возможные ходы для соперника. Далее необходимо выбрать вариант хода с максимальным значением, а в случае равенства оценки провести выбор варианта хода случайным образом.

-4

Соперник для выбора хода пользуется такой же оценочной функцией:

-5

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

Первая же часть игры – размещение цифр – более сложная задача, так как имеет большую стратегическую составляющую. Какие принципы выбора клетки для цифры можно учитывать?

1. Количество свободных клеток вокруг цифры. Размещение любой цифры в углу квадратного поля заведомо хуже размещения в центре.

2. Возможность захвата окружающих клеток уже выставленными цифрами (как соперника, так и своими собственными).

Сконструируем оценочную функцию следующим образом:

1) Каждой клетки поля присвоим промежуточное значение «+8». Вычтем из этого значения сумму всех цифр стоящих вокруг этой клетки. То есть каждая цифра, стоящая около оцениваемой клетки может занять точкой эту клетку тем чаще, чем выше значение этой цифры.

2) Оценочную функцию клетки определим, как сумму значений клеток вокруг оцениваемой.

Приведем пример.

Для пустого поля двухэтапная оценка выглядит так:

-6

На пустом поле максимальное значение «+64» характерно для 16 внутренних клеток. Можно выбрать любую из них.

-7

После выбора первого игрока для выбора «1» второго игрока осталось 7 клеток с максимальным значением «64». В первом примере игрок выбрал поле со значением «62», потому что он оценивал позицию каким-то другим образом. Теперь алгоритм не будет допускать таких ошибок! Выберем одну из семи клеток.

-8

Максимальное значение «64», значит первый игрок выбирает для своей «2» именно это поле.

-9

Максимум оценочной функции «61», значит второй игрок выбирает для своей «2» именно это поле. Продолжаем оценку.

-10

Место для «3» найдено.

-11

Аналогично.

-12

И последняя цифра.

-13

Итоговый результат расстановки приведен ниже. Начнем сразу же раскидывать точки:

-14
-15

Здесь уже можно было не считать, так как «выброс» точек занимает все свободные клетки вокруг тройки второго игрока.

-16

Последнее достижения второго игрока.

-17

Первый игрок дозаполняет поле своими точками и выигрывает со счетом 16:12.

Вероятно, первый игрок в данной игре имеет преимущество. Это не удивительно для позиционных игр, связанных с заполнением поля. Если второй игрок будет придерживаться иной стратегии, то результат игр будет хуже.