![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 24.12.2012
Сообщений: 82
|
![]()
надумал писать крестики нолики (5 в ряд)
и задался вопросом о том как будет соображать компьютер: пока из мыслей приоритетность клеток + (отдельно) поиск троек - четверок, поставленных в ряд. собственно интересует мнение форумчан, не надо тыкать в гугл. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 19.04.2010
Сообщений: 2,702
|
![]()
Правильно думаете - поиск троек и чётвёрок в ряд + вилок. Если честно то достаточно просто для такой игры сделать матрицу ходов.
|
![]() |
![]() |
![]() |
#3 | |
Пользователь
Регистрация: 24.12.2012
Сообщений: 82
|
![]() Цитата:
вилки планирую искать так: есть лист с тройками - четверками в ряд я его просматриваю и нахожу клетки, которые могут "обломать" завершение их до пятерок клетка, обламывающая сразу несколько комбинаций - она и предотвратит вилку Последний раз редактировалось denrubun; 07.01.2013 в 15:51. |
|
![]() |
![]() |
![]() |
#4 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,899
|
![]()
Начните с хотсит-игры, реализуйте всю логику - расстановки, очерёдности ходов, выигрыш-проигрыш. Сделайте графическое оформление простейшее.
А там видно будет - если грамотно сделаете, то подключить вместо одного хотсит-игрока модуль для оценки ходов - будет просто, сперва можно написать заглушку, которая принимает поле и ходит в рандомную клетку. Потом уже будем обсуждать предметно. В общем виде можно просто перебором с оценочной функцией сделать. Ссылки на подобные обсуждения с реализацией на оценочных функциях: http://programmersforum.ru/showthread.php?t=33566 а также откройте поиск для себя - много тем на форуме, искать по ключевым словам "крестики нолики". |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 24.12.2012
Сообщений: 82
|
![]()
ставка поочередно, проверка координат, переключение хода, отлов выигрыша - все это сделано уже
![]() п.с. рандом-заглушка тоже есть, даже было проведено соревнование ее с текущей версией аи, успешно(в пользу аи конечно) кстати про поиск я чтото забыл, спасибо) |
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 24.12.2012
Сообщений: 82
|
![]()
прочитал про минимакс, про отсечения, вроде понял, но выглядит это все довольно обобщенно. А у меня такая болезнь я хочу чтоб алгоритм был ну оптимальней некуда, за каждую проверку дерусь. Отсюда возникает вопрос: много ли, по вашему мнению, я смогу добиться уйдя от минимакса и построения деревьев в изобретение алгоритма исключительно для данной задачи? Или я покружусь и пойму что лучше не может быть, и тогда лучше не выпендриваться и просто реализовывать минимакс?
|
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
![]()
Виталий, а Вы садист. Матрица игры, в комбинаторике, вычисляется как факториал. Например для матрицы 3Х3 число комбинаций буде (3 * 3)! = 362880. Для матрицы 5Х5=25! Мне даже представить страшно какая будет матрица.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder Последний раз редактировалось Smitt&Wesson; 08.01.2013 в 07:56. |
![]() |
![]() |
![]() |
#8 | ||
Старожил
Регистрация: 19.04.2010
Сообщений: 2,702
|
![]() Цитата:
Цитата:
Достаточно просто проверять противника на эти комбинации и всё. |
||
![]() |
![]() |
![]() |
#9 | |
Пользователь
Регистрация: 24.12.2012
Сообщений: 82
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Алгоритм для Шашек | isus | Помощь студентам | 16 | 10.10.2012 09:46 |
Алгоритм для программы | Kostik777 | Помощь студентам | 2 | 15.01.2010 12:09 |
алгоритм для бенчмарка | CraZZy RabbIt | Общие вопросы Delphi | 9 | 02.03.2009 22:01 |
Алгоритм для Pascal | Trojan-PSW.Win32 | Помощь студентам | 6 | 29.01.2008 10:17 |