Создание конфигураций 1С: пишем "Крестики-нолики" часть 3/3
Автор уроков и преподаватель школы: Владимир Милькин
Заключительная часть разработки Крестиков-ноликов на 1С. После четырнадцатого
шага мы создали пустую процедуру "ХодКомпьютера" и добавили её вызов сразу после нашего хода.
Если вы прерывались (закрывали конфигуратор) после предыдущей части - выполните шаг №2 (открытие конфигуратора) и шаг №3 (открытие дерева конфигурации) . В дереве конфигурации откройте обработку "КрестикиНолики":
- найдите в ней закладку "Формы"
- откройте там элемент "Форма"
- перейдите в модуль формы (закладка "Модуль" внизу)
- уже после этого переходите к шагу №15
Оглавление
- Шаг №15: добавляем переменную Поле для хранения состояний кнопок
- Шаг №16: добавляем обработчик открытия формы
- Шаг №17: в обработчике открытия формы инициализируем переменную Поле
- Шаг №18: переименовываем все кнопки
- Шаг №19: пишем содержание процедуры ХодКомпьютера
- Шаг №20: уже можно играться!
- Шаг №21: избавляемся от затирания наших ходов
- Шаг №22: программируем логику окончания игры
Шаг №15: добавляем переменную Поле для хранения состояний кнопок
Чтобы компьютер смог походить ему нужно проанализировать текущее состояние поля - какие клетки заняты, а какие свободны. Специально для хранения нашего поля заведём переменную "Поле" и расположим её в самом начале модуля:
Завести переменную - пол дела. Нужно её правильно инициализировать (присвоить начальное значение). И делать это лучше всего в самом начале выполнения программы - в обработчике открытия нашей формы.
Шаг №16: добавляем обработчик открытия формы
Чтобы попасть в этот обработчик - вернёмся в визуальное представление формы (закладка "Форма") и выделим (двойным щелчком) элемент "Форма" в окне с элементами:
В окне свойств формы (справа) промотаем полосу прокрутки вниз и найдём там событие "ПриОткрытии". Щелкнем на кнопке с лупой:
Программа предлагает нам создать обработчик для этого события. Выберем вариант "Создать на клиенте" и нажмем кнопку "ОК":
Мы перенеслись снова в модуль формы в новую автоматически созданную процедуру "ПриОткрытии". Вы читаете ознакомительную версию урока, полноценные уроки находятся здесь. Весь код, написанный в этой процедуре будет выполнятся каждый раз при открытии формы обработки:
Шаг №17: в обработчике открытия формы инициализируем переменную Поле
Обработчик ПриОткрытии создан. Чем будем инициализировать переменную Поле? А давайте ещё раз вспомним, что именно мы собираемся в ней хранить. Мы собираемся хранить состояние поля. А вернее состояние его ячеек. Для хранения набора каких-то однотипных данных идеально подойдёт тип массив. Вот его мы и создадим в переменной Поле.
Наша задача вставить в процедуру ПриОткрытии код, который создаст в переменной Поле массив, который будет содержать в себе 3 элемента. Каждый из этих элементов будет также массивом на 3 элемента. Получится поле 3х3.
Чтобы вам стало понятнее, что из себя будет представлять массив "Поле" я приведу такую картинку:
Массив "Поле" это двумерная таблица, к элементам которой мы сможем обращаться по номеру строки и номеру столбца.
Но нужно не только создать этот массив 3х3, но и установить в каждую из его ячеек пустую строку, чтобы показать, что все ячейки свободны.
Вставим в эту процедуру следующий код: