Я предположил, что… ходы локальны (имеют относительно малый радиус влияния в отличии от шахмат, например)
По моему опыту, выигрыш часто получается чередой опасных моментов для противника, а поставленный в нужном месте 0 может цепочкой создать опасность в другом месте игрового поля. Таким образом, даже в гомоку один ход может повлиять практически на любую игровую клетку.
Я реализовывал когда-то "5 в ряд" для Киндла (который читалка) (и "6 в ряд" на её основе потом). За основу был взят классический вариант реплизации min-max из примеров для Борландовской реализации Паскаля.
QA Амазона выкатили единственную претензию — "игра слишком сложна и не прощает ошибок. Добавьте уровни сложности". Пришлось вводить "случайные" ошибки — т.е. ИИ тупо делал ошибки в зависимости от уровня сложности.
Спасибо, хороший совет. Я тоже задумывался над уровнями сложности, но не знал как их реализовать. Ведь действительно если АИ играет очень хорошо, то большинству людей играть будет не интересно.
проблема даже не в том что выигрываю,
Проблема что компьютер играет "скушно".
Кстати, это интересная игровая проблема — как написать ИИ играющий "интересно". Т.е. ходы которого не просто набор оптимальных на глубину поиска, а "атакующие" или "защищающиеся" или "коварные". Именно субъективность делает игру интересной.
Добрый день
Я немножко умею играть в эту игру. Программа, увы, пока не особо сильная :)
Если вообще эта тема интересна, то есть даже чемпионат мира среди программ по гомоку: http://gomocup.org
Там можно узнать о программах, которые играют сильно (непрофессионала обыграют). Если будут вопросы — пишите!
Игра гомоку (крестики-нолики, 5 в ряд)