Практика программирования (Бейсик, Си, Паскаль)



         

Задачи, советы и ответы - часть 21


Беспроигрышная тактика для первого игрока заключается в соблюдении трех следующих правил:

  • первым ходом захватить центр, т. к. центральная клетка контролирует максимальное число линий (4 из 8);

  • вторым ходом поставить крестик в один из углов, расположенных на вертикальной или горизонтальной линии, занятой первым ходом противника (этот ход контролирует 3 линии и создает возможность выигрыша по диагонали);

  • третий и дальнейшие ходы делаются по следующей схеме:

    a) если обнаружена линия, на которой расположены два крестика и есть свободное поле (выигрышная ситуация), заполните его;

    b) если ситуация а) не обнаружена, но имеет место выигрышная позиция для противника, воспрепятствуйте этому;

    c) если не обнаружена ни ситуация а), ни ситуация Ь), то поставьте крестик на любое свободное поле.

    Для второго игрока беспроигрышная тактика заключается в соблюдении следующих правил:

  • если центр не был занят первым ходом, то займите его;

  • если центр занят, то нужно поставить нолик в любую из четырех угловых клеток (другой ход приведет к проигрышу);

  • второй и последующие ходы выполняются в точном соответствии с приведенной ранее схемой:

    a) если обнаружена линия, ведущая к победе, сделайте решающий ход;

    b) если своего выигрышного хода нет, воспрепятствуйте выигрышу первого игрока;

    c) если не обнаружена ни ситуация а), ни ситуация b), то ставьте нолик на любое свободное поле.

    Совет 1 (общий)

    Несмотря на относительную простоту тактики игры программа "крестики-нолики" довольно сложна, и пройдет немало времени, прежде чем заработает придуманный вами вариант. Остановимся на некоторых деталях приводимых ниже программ.

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




    Содержание  Назад  Вперед