Также, при разработке интеллектуального бота отвечающего за игру компьютера понадобится дерево ходов. Строят дерево ходов, выполняют все операции с ними классы: Node, DecisionTree, Tree. Классы Node и Tree представляют из себя стандартное бинарное дерево со всеми интерфейсами его использования. А класс DecisionTree анализирует полученное дерево ходов и делает соответствующие выводы: о выигрыше, проигрыше, ничьей.
2 РЕАЛИЗАЦИЯ ПРОГРАММНОГО ПРОДУКТА
Для разработки программного продукта использован высокоуровневый объектно-ориентированный язык программирования Java, версии 11.
Задействованы стандартные библиотеки Java: lang,util,io, nio,awt.
Для реализации графического интерфейса приложения использована библиотека swing. Библиотека swing является продолжением развития стандартной библиотеки awt. Имеет множество новых возможностей и улучшений. Аналогом данной библиотеки является библиотека Windows Forms на языке программирования C#, библиотека Qt на языке программирования C++. В Java нет достойных бесплатных ей аналогов поэтому выбор был сделан в ее пользу.
Библиотека JavaFX является библиотекой множества графических возможностей и визуальных эффектов. Представляет собой аналог технологии разработки графических приложений WPF (Windows Presentation Foundation) на объектно-ориентированном языке высокого уровня C#. Однако в разрабатываемом приложении данная функциональность не требуется.
В качестве инструмента разработки будет использоваться среда разработки NetBeans 11. Среда разработки NetBeans является бесплатной и имеет такие аналоги как: eclipse, intellij IDEA и др.
Eclipse – бесплатная удобная многомодульная среда разработки, однако являющаяся менее стабильной чем NetBeans.
Intellij IDEA – платная удобная среда разработки. Не подходит из-за платности.
Поэтому выбор был сделан в пользу NetBeans — ввиду ее бесплатности и относительной стабильности. Относительно разработки интеллектуального бота реализующего поведение игрока компьютера могут быть использовано множество подходов. Например, правила принятия решений – минимакс. Однако, ввиду относительной простоты поставленной задачи, разработаем свой упрощенный алгоритм ее решения.
В качестве операционной системы для разработки и тестирования использована операционная система windows 7. Использована именно эта операционная система из-за ее широкого распространения и применения. Однако, как уже говорилось ранее, Java будет одинаково хорошо работать на любой операционной системе в которой будет работать виртуальная машина.
Самые простые «Крестики-нолики» имеющие поле три на три не имеют много вариантов состояния. Если игроки играют правильно, то результат будет всегда – ничья. Иной исход возможен только в том случае, если один из игроков совершит ошибку.
В данном случае игрок человек будет играть за крестики. Компьютер будет играть за нолики. Алгоритм расчета хода компьютера будет исходит из приоритета клетки возможного хода.
Приоритетность клеток будет установлена таким образом:
центральное поле – максимальный приоритет;
угловые поля – средний приоритет;
средние крайние поля – низкий приоритет.
Суть алгоритма состоит в следующем:
если можно сделать шаг ведущий к выигрышу — делаем.
если нужно блокировать возможность выигрыша соперника — блокируем;
делаем ход в ячейку с максимальным приоритетом.
Интеллектуальный бот для игры «Крестики-нолики» на Java
- Леонид Федотов
- Информатика

Диплом777
Email: info@diplom777.ru
Phone: +7 (800) 707-84-52
Url: https://diplom777.ru/

Никольская 10
Москва, RU 109012
Содержание
Леонид Федотов
Окончил НИУ ВШЭ факультет компьютерных наук. Сам являюсь кандидатом наук. По специальности работаю 13 лет, за это время создал 8 научных статей и 2 диссертации. В компании подрабатываю в свободное от работы время уже более 5 лет. Нравится помогать школьникам и студентам в решении контрольных работ и написании курсовых проектов. Люблю свою профессию за то, что это направление с каждым годом становится все более востребованным и актуальным.