Как сделать крестики нолики в 1с
Размер: 0.44 МБ. Год создания 2020 Страниц: 20 Тип документа: курсовая работа Язык: русский Добавлен —>
Объектом исследования является конфигурация, представляющая собой игру «Крестики-нолики».
Целью работы является разработка игры «Крестики-нолики» на платформе 1С:Предприятие 8.3.
В результате работы была разработана конфигурация, содержащая:
— Игровое поле размером 3х3 клетки;
— Обработку, в которой описана логика игры;
— Перечисления, в которых указаны режимы и состояния игры;
— Справочник, в котором регистрируются имя игрока и его игровые баллы (число выигрышей);
— Отчет, выводящий рейтинг игроков.
Также в процессе игры осуществляется подсчет побед для каждого игрока и вывод счета после каждого раунда.
Разработать игру «крестики нолики» на платформе 1С Предприятие 8.3
Разработать игру «крестики нолики» на платформе 1С Предприятие 8.3 и написать пояснительную записку. Пример курсовой прикрепил. По срокам и цене договоримся.
Заказчик
заплатил
Заказчик не использовал рассрочку
Гарантия сервиса
Автор24
Заказчик воспользовался гарантией, чтобы исполнитель повысил уникальность работы
22 декабря 2021
Заказ завершен, заказчик получил финальный файл с работой
Заказ выполнил
Разработать игру «крестики нолики» на платформе 1С Предприятие 8.3.docx
2021-12-25 16:57
Последний отзыв студента о бирже Автор24
Общая оценка
Положительно
Автор отлично выполнил работу, терпелив и открыт к диалогу, ошибки были исправлены в кратчайшие сроки. Отличный автор,рекомендую!
Хочешь такую же работу?
на первый заказ
средняя стоимость
Гарантия 20 дней
Срок от 1 дня
Хочешь написать работу самостоятельно?
Используй нейросеть
Мы создали собственный искусственный интеллект,
чтобы помочь тебе с учебой за пару минут
Тебя также могут заинтересовать
по этому предмету по этому типу и предмету
Контрольная работа
Программирование
Лабораторная работа
Программирование
Задача по программированию
Программирование
Помощь on-line
Программирование
Помощь on-line
Программирование
Отчёт по практике
Программирование
Курсовая работа
Программирование
Контрольная работа
Программирование
Решение задач
Программирование
Курсовая работа
Программирование
Курсовая работа
Программирование
Отчёт по практике
Программирование
Курсовая работа
Программирование
Курсовая работа
Программирование
Курсовая работа
Программирование
Курсовая работа
Программирование
Курсовая работа
Программирование
Курсовая работа
Программирование
Курсовая работа
Программирование
Курсовая работа
Программирование
Курсовая работа
Программирование
Курсовая работа
Программирование
Курсовая работа
Программирование
Курсовая работа
Программирование
Читай полезные статьи в нашем
Классификация языков программирования
Классификация языков программирования по категориям связана с методами, которые используются при написании программ.
интернет-биржа студенческих работ»>Рисунок 1. Классификация языков программирования. Автор24 — интернет-биржа студенческих работ
Процедурные языки являются языками высокого уровня, в которых используется метод разбиения программ на отдельные связанные между собой модули – подпрогра.
Знакомство со средой Visual Basic
Visual Basic – это интегрированная среда разработки приложений, включающая следующие компоненты:
Преимущества Visual Basic:
Язык Visual Basic является объектно-ориентированным, т.е. работает с разными объектами, каждый из которых имеет определенные свойства: цвет, размеры, положение и др. К некоторыми объектам можно применять определенные действия, которые называют методами (например, нажатие кноп.
Гиперссылки, рисунки, графические объекты
При добавлении на сайт новых страниц необходимо продумать способы перемещения пользователя между ними. Наиболее распространенным средством перемещения между веб-страницами являются гиперссылки.
Гиперссылки можно сравнить со стрелками, по которым пользователь перемещается в поисках нужной информации. Гиперссылки используют для указания на:
В гиперссылку можно включить как само графическое изображен.
Язык программирования Scratch
Объектами программирования в Scratch являются анимированные персонажи. Можно использовать готовые фигурки (по умолчанию это кот), а можно нарисовать собственные. Персонажи перемещаются по игровому полю, меняют внешний облик (костюмы, мимику и жесты), издают звуки, взаимодействуют друг с другом.
Несмотря на то, что Scratch не является полноценным языком программирования (с его помощью вряд ли получи.
Классификация языков программирования
Классификация языков программирования по категориям связана с методами, которые используются при написании программ.
интернет-биржа студенческих работ»>Рисунок 1. Классификация языков программирования. Автор24 — интернет-биржа студенческих работ
Процедурные языки являются языками высокого уровня, в которых используется метод разбиения программ на отдельные связанные между собой модули – подпрогра.
Знакомство со средой Visual Basic
Visual Basic – это интегрированная среда разработки приложений, включающая следующие компоненты:
Преимущества Visual Basic:
Язык Visual Basic является объектно-ориентированным, т.е. работает с разными объектами, каждый из которых имеет определенные свойства: цвет, размеры, положение и др. К некоторыми объектам можно применять определенные действия, которые называют методами (например, нажатие кноп.
Гиперссылки, рисунки, графические объекты
При добавлении на сайт новых страниц необходимо продумать способы перемещения пользователя между ними. Наиболее распространенным средством перемещения между веб-страницами являются гиперссылки.
Гиперссылки можно сравнить со стрелками, по которым пользователь перемещается в поисках нужной информации. Гиперссылки используют для указания на:
В гиперссылку можно включить как само графическое изображен.
Язык программирования Scratch
Объектами программирования в Scratch являются анимированные персонажи. Можно использовать готовые фигурки (по умолчанию это кот), а можно нарисовать собственные. Персонажи перемещаются по игровому полю, меняют внешний облик (костюмы, мимику и жесты), издают звуки, взаимодействуют друг с другом.
Несмотря на то, что Scratch не является полноценным языком программирования (с его помощью вряд ли получи.
Главная Лента заказов Курсовые работы Программирование Разработать игру «крестики нолики» на платформе 1С Предприятие 8.3
Как сделать крестики нолики в 1с
Есть набор множеств
А1=
А2=
………………..
An=
Где a11,… числа от 1 до K
Найти множество минимальной мощности, в котором есть по крайней мере хотя бы один элемент из каждого из множеств A1…An.
(0) Не осилил.
По-моему, алгоритм игры в крестики-нолики куда проще.
Пример:
A1=
A2=
A3=
Решение B=
(2) Что означают цифры?
(3) цифры это натуральные числа из интервала от 1 до К. Вообщето К=225
(4) Что ОЗНАЧАЮТ эти цифры?
скажем так. для чего они тогда.
(0) С таким вопросом лучше будет сходить на форум http://www.delphikingdom.com — там такие вопросы любят и отвечают с удовольствием.
(0) Алгоритм игры в крестики и нолики раз в 50 проще.
(7) 1с-ники головоломки тож любят .
множество минимальной мощности — ЭТО ШО?
(5) Это важно? Пусть это будет абстракная задача никак не связанная с игрой в крестики-нолики
(7) Спасибо за ссылко. Но мне хотельсь бы увидеть решение на платформк 7.7. Кстати разработать структуру хранения множеств А1. Аn есть составная часть задачи.
(9) Мощность множества = количеству элементов множества
(10) Решение на 1с практически ничем не будет отличаться ото всех других .
(10) Неоптимизированный алгоритм — хоть сейчас могу сказать .
Можно устроить турнир программ по игре в крестики-нолики.
У меня где-то завалялась программа для поля 3х3, написанная ещё на TP7. Думаю, несложно будет её переделать под 1С.
(13) турнир уже объявлен Начинается конкурс на лучшую программу в Го-Моку.
(13) Для поля 3х3 можно заложить в базу все варианты — их не так уж и много, кажется, около 100.
(10) Просто объявляешь «квадратный» массив. Далее юзаешь его.
Кол-во столбцов и КОл-во строк — основные размерности. Далее находишь по алгоритмам эти множества .
(15) Ну, я точно не так делал. Вроде бы там одна-единственная беспроигрышная тактика.
(15) Для 3х3 и закладывать нечего. Первый в угол, второй в центр и ничья
(17)аха либо ничья. либо победа. смотря чей ход первый.
(14) Я думаю, что начать можно и с 3х3, а потом уже переходить на более широкие масштабы. 🙂
(19) какая разница чей первый, главное в угол
(19) А вот это неважно, чей ход первый. Всегда можно сыграть вничью.
(20) 3Х3 уже потренировался. Хочу переходить на более широкие масштабы
(20) Если алгоритмом в котором находяться комбинации — то нет. Надо сделать ИИ .
(18) А если в центр сходил противник?
(17) В крестики-нолики нет выигрышных тактик. Выиграть можно только при ошибке противника, а проиграть только при собственной ошибке. Обычный результат игры — ничья.
(24) ИИ тут и близко не стояло. Самое большее — полная рекусия на всю партию.
(26) А я сказал «беспроигрышная» тактика. Выигрышной действительно нет.
(27) Если поле очень большое, то рекурсия затянется. На 8.0 может даже вылететь (там глубина рекурсии ограничена).
(29) Ну это, конечно, не самый оптимальный вариант (одна рекурсия).
(30) ПРи чем тут рекурсия? Нельзя ли хоть чуть чуть логику ему прописать .. Она же там простая .
(30) Одно другому не мешает. Мы говорим про рекурсивный обход возможных ходов, а логику пропиши в оценочную функцию, как и делается во всех шахматных программах.
(32) оценочная функция — это неправильно. Рекомендую: Р.Лингер и др. «Теория и практика структурного программирования» глава 7.6. Использование эвристического и строгого подходов: игра в крестики-нолики.
Мы говорим о крестиках ноликах пять-в-ряд?
Если да, то
(33) И каким это образом программа может играть без оценочной функции?
Могу дать ссылки на две программы (исходники)- в обеих используется Альфа-бета и оценочная функция.
(35)если вас это не затруднит.
Ссылка в предпоследнем посте.
http://bbs.vbstreets.ru/viewtopic.php?t=21694
Для скачивания — возможно нужна регистрация.
Текст на VB.
(37)спасибо. скачал. на пенсии поковыряю ;))
(39) Там алгоритмы-то на несколько десятков строк.
(40)сейчас просто ломает. я жду расчет..
Есть ли у кого идеи по поводу решения задачи в (0)?
Вообще то это задача о минимальном вершинном покрытии графа. Соответсвенно NP-полная — решается полным перебором. Может кто подскажет приблизительный алгоритм решения задачи
(42)может туплю. что такое «минимальной мощности».
(42) отурытые тройки ищешь?
Да, есть.
Берем все множества из трех своих фишек на пять расположенных на одной линии клеток.
Свободных клеток две.
Например a1 0 0 а2 0
Делаем ТЗ с двумя колонками.
ТЗ.НоваяСтрока();
ТЗ.п1=»а1″;
ТЗ.п2=»а2″;
ТЗ.НоваяСтрока();
ТЗ.п1=»а2″;
ТЗ.п2=»а1″;
Теперь необходимо учеть, что каждая комбинация из двух свободных клеток на пяти может встречаться несколько раз.
(например 0 а1 0 0 а1 0) — первые пять, и последние пять.
Чтоб это устранить — делаем
ТЗ.Свернуть(«п1,п2»);
Теперь если после ТЗ.Свернуть(«п1″,»») — количество строк уменьшилось, значит есть открытая тройка, то есть ход после которого есть возможность выиграть более, чем одним способом.
(+45) Для свободных клеток больше двух — просто добавляешь все комбинации — например для трех свободных-
а1,а2,а3 — добавляешь все шесть перестановок, а потом так-же сворачиваешь по первой колонке.
Если необходимо определить именно в каких поллях вилки — то
Добавляем новую колонку, заполняем единицами (после сворачивания по всем колонкам) — сворачиваем по первой колонке, и где значение больше одного — там пересечение.
А вообще — очень быстрая оценка в программе в (37) Хотя конечно так себе.
(45) за алгоритмы спасибо. Но я решаю другую задачу.
Есть множество угроз соперника (это не обязательно тройки, это скорее двойки), которые можно отразить своим ходом, а можно иподождать. Надо найти оптимальный порядок ходов отражающий все эти угрозы.
Скажем есть N точек, где соперник МОЖЕТ своим ходом построить тройку (не обязательно тройку, главное что после хода соперника надо на нее реагировать немедленно). Список таких точек я построил. Для каждой точки определил способы отражения угрозы (это не обязательно текущяя точка, список может бфть довольно длинным). Отражать угрозу необязательно немедленно, но хочется своим ходом отразить максимальное количество угроз.
(48) Так именно про это я и говорю. Основная угоза — поставить открытую четверку — поля, которые дают её как раз смотри в (45) — там находятся все поля, ходя в которые соперник может сделать открытую четверку (выиграть)
Аналогично находятся поля для вилок — закрытая четверка+открытая тройка, и две открытых тройки. Сейчас перекурю, и выдам еще один факт.
Кто тебе мешает не оперировать множествами, а посмотреть, что перекрывашь сопернику по обеим диагоналям, вертикали и горизонтали отдельно?
На самом деле для оценки достаточно знать — что-бы постоил соперник данным ходом.
Чтоб узнать это — надо взять девять (восемь точек), например четыре слева по горизонтали, и четыре справа. Вариантов комбинаций —
3^8
(44) мощность множества = количество элементов множества
NS спасибо за советы.
Воспользовался советом в (45) переделал ТЗ для анализа ходов. стал анализировать не каждую свободную клетку поля, а каждую свободную линию. По 4 линии на каждую клетку. Алгоритм стал проще, быстрей и понятней.
Совет из (50) тоже оказался полезным.
Программа стала очень шустрой меня и обработку с проклаба обыгрывает легко.
(52) Доделываю менеджер, и сегодня прикручу блок к обработке на проклубе для игры с менеджером. Скоро сможешь с ней матч через менеджер устроить ;-))
Как раз, как только выложу — устроим перекличку, и определимся со списком участников.
Задача №2
Дан граф G=(V,E) где V множество вершин графа, E множество ребер графа. Множество ребер E разбито на два подмножества E1 и E2 (E=E1+E2).
Найти путь от вершины «a» до вершины «b», причем путь должен начинаться и заканчиваться ребром из множества E1, затем ребра должны чередоваться.
Путь P=, где x1,x2…xn принадлежат множеству E1, y2,…yn-1 принадлежат E2.
Есть город со сложной схемой улиц и перекрестков. В нем множество тоннелей и эстакад, причем, так получилось, что на перекресток может выходить сразу много улиц аж до тринадцати. Мэр города с целью упорядочения движения раскрасил улицы в зеленый и оранжевый цвета. Водителям предписывается, если они подъехали к перекрестку по зеленой улице, то обязаны продолжить движение по оранжевой улице и наоборот. Развороты запрещены на всей территории города. Как проехать водителю из пункта А в пункт Б, и не нарушить правила.
(55) По МКАДу.
(55) Это задача звучит так — найти кратчайший (или просто найти) путь между двумя вершинами графа. Без раскраски — Дейкстра придумал алгоритм. С раскраской в два цвета — просто нужно алгоритм немного модифицировать — кроме длины пути (наличия пути) к вершине — хранить с улицы какого цвета мы до этой точки добрались.
(55)
Можно попробовать искать множества доступных улиц с обоих концов
Т.е.
из начальной точки выбрать доступные улицы для движения (мн1)
из конечной точки выбрать доступные улицы для движения (мн2)
—
выбрать доступные улицы для мн1
выбрать доступные улицы для мн2
—
Искать до тех пор, пока мн1 и мн2 не пересекутся или (мн1 или мн2 будуи содержать множество всех доступных улиц)
—
Это при условии, что по улице можно проехать только один раз
Можно искать из одной точки до тех пор пока не достигнем второй
Создается два массива (списка) Список вершин желтых путей, и список вершин зеленых путей.
Понятно, что ежели мы ищем кратчайший путь, то в нем не будет разворотов (мы приходим к той же ситуации, но потратив два шага), и двойных проездов по одной и той-же дороге. Получается, что это условие не обязательно, его можно заменить на условие — «проехав минимальное количество учатков дороги, либо перекрестков».
И бежим по циклу — сначала ищем вершины с длиной пути один, добавляем вершины в соответствующие списки. Потом в цикле для каждай вершины, нгачиная с первой в каждом списке ищем пути длины два, уже пройденные вершины занося в списки пройденных вершин (тоже два списка) — вот и получается тот-же самый алгоритм дейкстры.
Как сделать крестики нолики в 1с
Войдите как ученик, чтобы получить доступ к материалам школы
Создание конфигураций 1С: пишем «Крестики-нолики» часть 3/3
Автор уроков и преподаватель школы: Владимир Милькин
Заключительная часть разработки Крестиков-ноликов на 1С. После четырнадцатого
шага мы создали пустую процедуру «ХодКомпьютера» и добавили её вызов сразу после нашего хода.
Если вы прерывались (закрывали конфигуратор) после предыдущей части — выполните шаг №2 (открытие конфигуратора) и шаг №3 (открытие дерева конфигурации) . В дереве конфигурации откройте обработку «КрестикиНолики»:
— найдите в ней закладку «Формы»
— откройте там элемент «Форма»
— перейдите в модуль формы (закладка «Модуль» внизу)
— уже после этого переходите к шагу №15
- Шаг №15: добавляем переменную Поле для хранения состояний кнопок
- Шаг №16: добавляем обработчик открытия формы
- Шаг №17: в обработчике открытия формы инициализируем переменную Поле
- Шаг №18: переименовываем все кнопки
- Шаг №19: пишем содержание процедуры ХодКомпьютера
- Шаг №20: уже можно играться!
- Шаг №21: избавляемся от затирания наших ходов
- Шаг №22: программируем логику окончания игры
Шаг №15: добавляем переменную Поле для хранения состояний кнопок
Чтобы компьютер смог походить ему нужно проанализировать текущее состояние поля — какие клетки заняты, а какие свободны. Специально для хранения нашего поля заведём переменную «Поле» и расположим её в самом начале модуля:
Завести переменную — пол дела. Нужно её правильно инициализировать (присвоить начальное значение). И делать это лучше всего в самом начале выполнения программы — в обработчике открытия нашей формы.
Шаг №16: добавляем обработчик открытия формы
Чтобы попасть в этот обработчик — вернёмся в визуальное представление формы (закладка «Форма») и выделим (двойным щелчком) элемент «Форма» в окне с элементами:
В окне свойств формы (справа) промотаем полосу прокрутки вниз и найдём там событие «ПриОткрытии«. Щелкнем на кнопке с лупой:
Программа предлагает нам создать обработчик для этого события. Выберем вариант «Создать на клиенте» и нажмем кнопку «ОК»:
Мы перенеслись снова в модуль формы в новую автоматически созданную процедуру «ПриОткрытии«. Вы читаете ознакомительную версию урока, полноценные уроки находятся здесь. Весь код, написанный в этой процедуре будет выполнятся каждый раз при открытии формы обработки:
Шаг №17: в обработчике открытия формы инициализируем переменную Поле
Обработчик ПриОткрытии создан. Чем будем инициализировать переменную Поле? А давайте ещё раз вспомним, что именно мы собираемся в ней хранить. Мы собираемся хранить состояние поля. А вернее состояние его ячеек. Для хранения набора каких-то однотипных данных идеально подойдёт тип массив. Вот его мы и создадим в переменной Поле.
Наша задача вставить в процедуру ПриОткрытии код, который создаст в переменной Поле массив, который будет содержать в себе 3 элемента. Каждый из этих элементов будет также массивом на 3 элемента. Получится поле 3х3.
Чтобы вам стало понятнее, что из себя будет представлять массив «Поле» я приведу такую картинку:
Массив «Поле» это двумерная таблица, к элементам которой мы сможем обращаться по номеру строки и номеру столбца.
Но нужно не только создать этот массив 3х3, но и установить в каждую из его ячеек пустую строку, чтобы показать, что все ячейки свободны.
Вставим в эту процедуру следующий код:
Я попробовал написать сам, покажите мне эталонный вариант
Войдите на сайт как ученик
Авторизуйтесь, чтобы получить доступ ко всем материалам школы
Код очень простой и с подробными комментариями. Все конструкции должны быть вам хорошо знакомы по первым двум модулям обучения, в которых мы изучали встроенный язык 1С. Если это не так, пожалуйста, вернитесь к изучению внутреннего языка 1С (модуль №1 и модуль №2).
Шаг №18: переименовываем все кнопки
Следующая задача дать кнопкам на форме такие имена, чтобы мы смогли из кода легко находить имя кнопки по номеру строки и столбца на поле.
К примеру, кнопку располагающуюся в нулевой строке и нулевом столбце (отсчет будем вести с нуля) назовём «Кнопка00«, а кнопку в первой строке и втором столбце «Кнопка12» и т.д.
Для этого перейдем в визуальное представление формы (закладка «Форма») и выделим двойным щелчком кнопку с именем «НажатиеНаКнопку«:
В окне свойств этой кнопки (справа) найдём свойство «Имя» и изменим его значение на «Кнопка00»:
Изменим имена всех кнопок так, чтобы в итоге все кнопки в группах назывались следующим образом:
Шаг №19: пишем содержание процедуры ХодКомпьютера
Наконец, мы можем определить работу процедуры «ХодКомпьютера». Что будет делать эта процедура? В ней нужно будет пробежаться по каждой из ячеек массива Поле, в котором хранятся состояния ячеек (свободна, занята компьютером, занята игроком). Сравнить каждую из ячеек с пустой строкой (признак того, что она свободна и в неё можно походить) . И если такая ячейка найдётся, поставить в неё «Х» (признак того, что в неё походил компьютер) и не забыть отобразить крестик в соответствующей кнопке на форме.
Код будет таким:
Я попробовал написать сам, покажите мне эталонный вариант
Войдите на сайт как ученик
Авторизуйтесь, чтобы получить доступ ко всем материалам школы
Как видим алгоритм работы компьютера у нас предельно простой — он просто перебирает все ячейки и делает ход в первую попавшуюся свободную ячейку.
Шаг №20: уже можно играться!
Запустим 1С в режиме Предприятие (меню «Отладка«->»Начать отладку«), откроем обработку («Сервис«->»Крестики нолики«) и убедимся, что, в принципе, уже можно играть:
Но вот незадача — компьютер перезатирает наши ходы! А всё дело в том, что в процедуре «НажатиеНаКнопку» мы нолик-то на кнопке отображаем, а вот в массив «Поле» этот нолик не ставим. Поэтому компьютер и не видит наши ходы.
Шаг №21: избавляемся от затирания наших ходов
Изменим процедуру «НажатиеНаКнопку» так, чтобы наш ход проставлялся не только на кнопке, но и в массиве «Поле» (добавленный код очерчен жёлтым цветом):
Я попробовал написать сам, покажите мне эталонный вариант
Войдите на сайт как ученик
Авторизуйтесь, чтобы получить доступ ко всем материалам школы
Попробуем запустить 1С в режиме Предприятие (меню «Отладка«->»Начать отладку«) вновь и поиграть с компьютером. На этот раз наши ходы не будут перезатираться компьютером.
Шаг №22: программируем логику окончания игры
Но есть другая проблема — логика игры не учитывает её окончание, когда один из игроков выстроил свои крестики или нолики в строку, столбец или диагональ.
Добавим такую проверку. Для этого напишем отдельную функцию «ИграОкончена«, которая будет возвращать Истина или Ложь в зависимости от того — присутствует ли на поле выигрышная комбинация.
Пока определим эту функцию пустой (добавьте её в конец модуля формы) , всегда возвращающей Ложь:
Далее изменим код процедуры «НажатиеНаКнопку», так чтобы после каждого хода (нашего или компьютера) делалась проверка на конец игры. Вы читаете ознакомительную версию урока, полноценные уроки находятся здесь. Будем вызывать функцию «ИграОкончена» и, если функция вернёт Истина, то будем выдавать соответствующее сообщение:
Я попробовал написать сам, покажите мне эталонный вариант
Войдите на сайт как ученик
Авторизуйтесь, чтобы получить доступ ко всем материалам школы
Разработка игры почти окончена. Нам осталось определить логику выполнения функции «ИграОкончена», которая пока что всегда возвращает «Ложь».
Ещё раз вспомним представление нашего массива «Поле»:
И сделаем элементарную проверку всех возможных выигрышных комбинаций на поле:
&НаКлиенте Функция ИграОкончена() // проверим первую строку Если Поле[0][0] <> "" И Поле[0][0] = Поле[0][1] И Поле[0][0] = Поле[0][2] Тогда Возврат Истина; КонецЕсли; // проверим вторую строку Если Поле[1][0] <> "" И Поле[1][0] = Поле[1][1] И Поле[1][0] = Поле[1][2] Тогда Возврат Истина; КонецЕсли; // проверим третью строку Если Поле[2][0] <> "" И Поле[2][0] = Поле[2][1] И Поле[2][0] = Поле[2][2] Тогда Возврат Истина; КонецЕсли; // проверим первый столбец Если Поле[0][0] <> "" И Поле[0][0] = Поле[1][0] И Поле[0][0] = Поле[2][0] Тогда Возврат Истина; КонецЕсли; // проверим второй столбец Если Поле[0][1] <> "" И Поле[0][1] = Поле[1][1] И Поле[0][1] = Поле[2][1] Тогда Возврат Истина; КонецЕсли; // проверим третий столбец Если Поле[0][2] <> "" И Поле[0][2] = Поле[1][2] И Поле[0][2] = Поле[2][2] Тогда Возврат Истина; КонецЕсли; // проверим первую диагональ Если Поле[0][0] <> "" И Поле[0][0] = Поле[1][1] И Поле[0][0] = Поле[2][2] Тогда Возврат Истина; КонецЕсли; // проверим вторую диагональ Если Поле[0][2] <> "" И Поле[0][2] = Поле[1][1] И Поле[0][2] = Поле[2][0] Тогда Возврат Истина; КонецЕсли; Возврат Ложь; КонецФункции
Снова запускаем режим 1С:Предприятие (меню «Отладка«->»Начать отладку«) и наслаждаемся игрой в Крестики-нолики против компьютера.
Конечно, игра компьютера против нас слишком примитивна и ему нужно поддаваться, чтобы он победил. Но никто не мешает вам развить этот пример до полноценной игры, а мы рассмотрели лишь простейшую реализацию.
На этом разработка крестиков-ноликов окончена, давайте же перейдём к следующему проекту.
Эталонная база, после выполнения всех шагов этого урока
Войдите на сайт как ученик
Авторизуйтесь, чтобы получить доступ ко всем материалам школы
Для учеников
Прибегайте к изучению эталонного варианта только после самостоятельного выполнения всех шагов.
На вопросы учеников — отвечаю по почте, но прежде загляните в ЧАВО (ссылка) .
Внимание! Перед вами ознакомительная версия урока, материалы которого могут быть неполными.
Войдите на сайт как ученик
Войдите как ученик, чтобы получить доступ к материалам школы