Игра в шашки с компьютером
Игра в шашки с компьютером не “ново”. Но мне захотелось написать ее на языке Пролог, который, как раз, и предназначен для решения задач связанных с Искусственным Интеллектом (англ. AI). Кроме того программа запускается в приложении работающем на смартфоне (Андроид), что для многих может иметь удобство.
Программа игры в шашки состоит из двух частей: самой программы и добавочного файла содержащего различные комбинации для победы над противником (то-есть игроком).
Общий алгоритм программы следующий:
а1) первым ходит игрок. Он вводит, в консоли, ход шашкой, например: b6-a5;
а2) сначала проверяется нет ли “ударных” ходов и является ли данный ход одним из них. Если нет, тогда - правилен ли данный простой ход;
а3) ход сделан. В консоль выводится сообщение, что игрок сходил и текущее положение шашек на доске;
а4) проверяется: не является ли данный ход выигрышным для игрока (то-есть на доске шашек компьютера не осталось) или у компьютера зажаты шашки, так что он не может ходить, что тоже является выигрышем;
б1) ходит компьютер. Сначала компьютер ищет в комбинациях, по данной позиции, лучший ход;
б2) если нет, тогда проверяет: нет ли ударных ходов. Если есть, просчитывает какой шашкой лучше бить, где больше выигрыша и мень потерь (для этого я использовал вычисление “стоимости” каждого хода);
б3) если нет ударных ходов, тогда думает какой шашкой лучше ходить. Думает на шаг вперед, то-есть: если сходить такой-то шашкой попадут ли свои шашки под удар и какой из этого исход;
б4) ход сделан. В консоль выводится сообщение, что компьютер сделал такой-то ход и выводится текущее положение шашек на доске;
б5) проверяется не является ли данный ход выигрышным для ai (то-есть на доске шашек игрока не осталось) или у игрока зажаты шашки, так что он не может ходить, что тоже является выигрышем.
Вот, вкратце, весь алгоритм программы.
Разум компьютера не доведен до совершенства из-за нехватки прописи различных мастерских комбинаций в файле комбинаций. Если честно мне лень было долго их прописывать для каждого вида партии. Учитывая, что игроки имеют тенденцию к определенным ходам, я надеюсь, что кто обыграет компьютер пришлет мне на почту текст игры и я добавлю в программу нужные комбинации для выигрыша компьютера, вместо того чтобы сейчас вводить очень большую кучу комбинаций охватывающие все возможные ситуации (нужные и ненужные).
Программа по шашкам и файл с комбинациями находятся здесь: https://yadi.sk/d/VySvBx5CxxoMGA.
Файл с комбинациями (Combs.txt) нужно скопировать в папку Download внутренней памяти.
Приложение для данной программы, Prolog Classic на андроид, находится здесь: https://yadi.sk/d/dEcW3dQE_DU2Dw.
После установки приложения необходимо зайти в Настройки приложений и для данного приложения дать разрешение на работу с памятью.
Книга по Прологу, в классическом варианте, находится здесь: https://yadi.sk/d/8WKBcqJBIysUYw.
Моя почта: elevferii_pechori@mail.ru.