Самоучитель VBA


         

Если игрок на очередном ходе



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

  • Первый и второй ход игры являются основными и здесь компьютер должен действовать осторожно. Поэтому некоторые особые ситуации в них программируются отдельно.

  • После каждого хода как игрока, так и компьютера необходимо производить проверку на возможный результат игры.

    Обсудим, как приведенная ниже программа решает описанную задачу и что в ней происходит.

































































    UserForm Initialize



    1. Активизирует диалоговое окно.

      Очищает все надписи от рисунков и текста, обнуляет все переменные.



    Нажатие кнопки Переиграть запускает на выполнение процедуру

    CommandButtonl_Click



    Очищает все надписи от рисунков и текста, обнуляет все переменные.



    Нажатие кнопки выход запускает на

    выполнение процедуру

    CoramandButton2_Click



    Закрывает диалоговое окно.



    От процедуры

    Labell_DblClick

    до

    Label9 DblClick



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

    Если нет, то компьютер делает свой ответный ход. Проверяет, привел ли ход компьютера к его победе, если да, то выдается соответствующее сообщение (рис. У11.3) и игра завершается.

































































































    Strategy 1

    и

    Strategy



    Генерируют первый и последующие ходы соответственно.



    Проверка



    Проверяет, нет ли в игре победителей.



    НачальноеСостояние



    Очищает все надписи от рисунков и текста, обнуляет все переменные.



    Состояние



    В массиве Статус отмечаются расставленные в ячейках игрового — 10, а пусто — 0. Процедура Состояние находит суммы элементов массива на диагоналях, в строках и столбцах.



    Диагональ!



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



    Диагональ 2



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



    Бок, Верх



    Определяет в зависимости от Состояние, надо ли компьютеру ходить и, если надо, то в какую ячейку.

    <

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