Russian Qt Forum

Программирование => Разработка игр => Тема начата: knf от Январь 16, 2014, 22:46



Название: Искусственный интеллект для логической игры
Отправлено: knf от Январь 16, 2014, 22:46
Конечно, громко звучит "искусственный интеллект", но в общем надо сделать бота для логической игры.
Вот сама игра.

Для игры в так-тикль используется доска 4х4, на которой расставлены 4 белые фишки и 4 черные фишки так, как показано на рисунке.
Ходы делаются по очереди. Начинают белые. За одни ход можно передвинуть любую из своих фишек на одну клетку по горизонтали или по вертикали, если она оказывается при этом на свободном поле. По диагонали ходить нельзя. Цель игры — выставить тройку своих фишек в ряд по горизонтали, вертикали или диагонали, как в “крестиках-ноликах”. Кто первым сделал это, тот победил.

(http://www.cyberforum.ru/attachments/355028d1389898847)

Сделал игрок против игрока. А вот как игру с ботом сделать пока не знаю. Может кто идейку подкинуть?)


Название: Re: Искусственный интеллект для логической игры
Отправлено: Bepec от Январь 16, 2014, 23:19
Перезалейте нормально картинку и будет вам счастье :)


Название: Re: Искусственный интеллект для логической игры
Отправлено: knf от Январь 16, 2014, 23:28
Перезалейте нормально картинку и будет вам счастье :)


Название: Re: Искусственный интеллект для логической игры
Отправлено: Bepec от Январь 17, 2014, 07:40
Ну, я не особый знаток ИИ конечно.
Но по моему разумению нужно построить все выигрышные комбинации, после каждого хода проверять "что ближе". По идее тут графы можно построить с весом, но для меня это пока тёмный лес.


Название: Re: Искусственный интеллект для логической игры
Отправлено: alex312 от Январь 17, 2014, 08:25
Конечно, громко звучит "искусственный интеллект", но в общем надо сделать бота для логической игры.
Может тебе будет интерестно почитать - http://www.ozon.ru/context/detail/id/2260651/


Название: Re: Искусственный интеллект для логической игры
Отправлено: Igors от Январь 17, 2014, 11:26
Для такой малой размерности - просто перебор, предусмотреть зацикливание и, возможно, ограничить глубину, иначе бот будет всегда выигрывать  :)