Крестики-нолики против компьютера

02.10.25

Задачи пользователя - Игры

Внешняя обработка, реализующая классическую игру "Крестики-нолики". Особенностью обработки является реализация противника, способного блокировать ходы пользователя и пытаться выиграть.

Бесплатные

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Бесплатно
Крестики-нолики против компьютера
.epf 59,53Kb
15 Скачать бесплатно

Инструкция по использованию

  1. Откройте внешнюю обработку.

  2. Нажмите кнопку "Начать игру".

  3. Кликайте по белым квадратам на игровом поле, чтобы поставить крестик.

  4. После вашего хода компьютер автоматически поставит свой нолик.

  5. Игра продолжается до победы одного из игроков или ничьей. Для начала новой партии нажмите "Начать заново".

Представление игрового поля

Для хранения состояния игры используется двумерный массив ИгровоеПоле (3x3). Каждый элемент массива может содержать "х" и "о" или быть пустым ("").

Визуальная часть реализована через элементы формы типа Картинка с именами Ячейка00, Ячейка01, ..., Ячейка22. При нажатии на картинку определяется соответствующая ячейка в массиве.

Обработка хода игрока

Основная логика находится в процедуре КартинкаНажатие.

  1. Проверяется флаг ХодКомпьютера, чтобы игрок не мог ходить во время хода компьютера.

  2. Из имени нажатого графического элемента извлекаются индексы строки и колонки.

  3. Проверяется, свободна ли ячейка в массиве ИгровоеПоле

  4. Ход игрока фиксируется в массиве и на форме вызовом СделатьХод.

  5. Проверяется, не привел ли ход к победе или ничье.

  6. Если игра продолжается, управление передается процедуре ХодКомпьютера.

Алгоритм хода компьютера

Процедура ХодКомпьютера реализует стратегию игры компьютера. Действия выполняются по приоритету:

  1. Поиск выигрышного хода: Функция НайтиВыйгрышныйХод("о") анализирует все линии (строки, колонки, диагонали). Если в какой-то линии уже стоят два нолика и есть одна свободная ячейка — компьютер делает победный ход.

  2. Блокировка игрока: Если выигрышный ход не найден, та же функция НайтиВыйгрышныйХод("х") ищет потенциально выигрышную линию для игрока. Если находит — компьютер ставит нолик в угрожающую ячейку.

  3. Захват центра: Центральная ячейка (1,1) является самой выгодной позицией, так как входит в максимальное количество выигрышных комбинаций. Компьютер занимает ее, если она свободна.

  4. Случайный ход: Если ни одна из стратегических целей не достигнута, компьютер выбирает случайную свободную ячейку с помощью функции СлучайныйХод.

Проверка победной комбинации и ничьи

Функция ПроверитьОкончаниеИгры последовательно вызывает две проверки:

  • ИграОкончена : Проверяет все возможные линии (3 строки, 3 колонки, 2 диагонали) с помощью универсальной функции ПроверитьЛинию. Если линия состоит из трех одинаковых символов (не пустых), игра считается выигранной. При этом выигрышная линия подсвечивается.

  • Ничья: Проверяет, остались ли на поле свободные ячейки. Если нет и победы не было, объявляется ничья.

Проверено на следующих конфигурациях и релизах:

  • Документооборот КОРП, релизы 2.1.36.3

Вступайте в нашу телеграмм-группу Инфостарт

См. также

Игры 1С v8.3 Бесплатно (free)

Моя реализация игры "Сапер" на 1С.

15.04.2025    1565    103    Caliban    5    

14

Игры 1С v8.3 Россия Бесплатно (free)

Игра "Сапёр" на 1С. Три уровня.

04.04.2025    2444    145    user2015123    9    

18

Игры 1С v8.3 Бесплатно (free)

Игра Змейка на объектах форм, а ля ООП, или что можно сотворить за час )))

20.02.2025    2475    98    starik-2005    9    

15

Игры 1С v8.3 Бесплатно (free)

Когда охота "настоящего" ООП, но не знаешь, как его взять в 1С. Массив форм в форме нам поможет )))

18.02.2025    2155    73    starik-2005    14    

19

Игры 1С v8.3 Бесплатно (free)

Знакомы с серией игр Football Manager? Вся суть подобных симуляторов состоит в том, чтобы путем грамотного управления и контроля за спортивным, инфраструктурным и финансовым учетом привести свой футбольный клуб к успехам. Это ли не задача для платформы 1С - помочь в контроле учета предприятия (читай футбольного клуба)?

10.01.2025    5080    132    KamranV21    4    

34

Игры 1С v8.3 Управляемые формы Бесплатно (free)

Вариация классической игры Линес в честь года змеи 2025 на шестиугольном поле, с препятствиями, для сборки змейки из 7 шаров.

29.12.2024    1340    47    miniogn    0    

6

Игры 1С v8.3 Бесплатно (free)

Я Федор, ведущий разработчик 1С. На хакатоне компании команда под моим руководством перенесла игру «Герои меча и магии III» на платформу 1С. Расскажу, как устроена конфигурация «1С: Герои меча и магии» с технической точки зрения.

10.10.2024    55843    PROSTO-1C    56    

176

Игры 1С v8.3 Управляемые формы 1C:Бухгалтерия 1С:Бухгалтерия 3.0 Россия Бесплатно (free)

Классическая игра Морской бой, с необычным дизайном. Из особенностей: Поле игрока формируется автоматически, но есть возможность корректировать расстановку фигур. Пример игры в приложенном видео.

29.07.2024    2292    120    user1693438    5    

11
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Alxby 1139 02.10.25 20:58 Сейчас в теме
Плюсую. Хорошая игра для понимания стратегий поиска лучшего хода. Основных стратегий 2: как выиграть или как не дать выиграть сопернику. Первый ход в центр - это про то, как не проиграть, а чтобы повысить вероятность выигрыша - надо первый ход делать в угловую клетку.
user2163916; SerVer1C; +2 Ответить
Для отправки сообщения требуется регистрация/авторизация