|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
09.02.2014, 21:37 | #1 |
Регистрация: 09.02.2014
Сообщений: 4
|
Игра Х/О,сделать программу умнее (С++)
Помогите доделать Х/О, так то работает все, но ходы компа оставляют желать лучшего(( меня хватило на банальный рандом координат.
Помогите хоть с какой то оптимизацией его разума, что б он не проигрывал так банально Код:
|
09.02.2014, 23:06 | #2 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
Опа-на. Вам всю "теорию игр" рассказать или по-частям?
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder Последний раз редактировалось Smitt&Wesson; 09.02.2014 в 23:21. |
09.02.2014, 23:17 | #3 |
Регистрация: 09.02.2014
Сообщений: 4
|
Я знаю что его нужно заставить ходить по крайним клеткам, и при этом проверять хода противника не выходит ли у него выигрышная комбинация и если что, то перекрывать.
Сложность состоит в том что не могу понять как это написать |
09.02.2014, 23:22 | #4 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
Ну, страниц 200 (печатных) или 2 000 постов на форуме Вам хватит? Очень на это надеюсь.
Эту задачку, на сколько знаю, ещё нико в полном объёме рещить не смог,хотя есть и частные решения. Теорему Ферма уже доказали. Так, что - фиг его знает, может и Вам повезёт.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder Последний раз редактировалось Smitt&Wesson; 09.02.2014 в 23:31. |
09.02.2014, 23:55 | #5 |
Регистрация: 09.02.2014
Сообщений: 4
|
я был бы вам очень признателен если б вы показали этот кусочек с ИИ, как делать первый ход что б не проиграть или свести к ничьей я знаю, возникает только проблема с проверкой "если следующим ходом противник выиграет" что б ИИ перекрывал этот ход. Конечно можно написать гору if'ов но это не правильно и нужно оптимизировать хоть как то.
|
10.02.2014, 13:03 | #6 |
Пользователь
Регистрация: 31.01.2014
Сообщений: 52
|
Думаю поможет. Правда если с помощью If делать то код огромный будет...а как еще не знаю
|
10.02.2014, 13:51 | #7 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,330
|
Я не понял, что требуется - доказать, что игра не имеет выигрышной стратегии или подобрать алгоритм, чтоб сводить игру к ничьей?
|
10.02.2014, 14:05 | #8 |
Регистрация: 09.02.2014
Сообщений: 4
|
подобрать алгоритм что б программа сводила игру к ничьей или выигрывала.
поскольку на данный момент ходы делаются от фанаря это не совсем правильно |
10.02.2014, 15:27 | #9 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,330
|
Начните с того, что сформулирайте нужные правила на человекопонятном языке, потом можно будет думать как их реализовывать в коде.
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Сделать, чтобы пустой квадрат был в нижнем правом углу (игра пятнашки) | Nikitos_ | Паскаль, Turbo Pascal, PascalABC.NET | 21 | 03.06.2012 22:04 |
Нужно сделать движение чисел кнопоками (w,a,s,d) игра пятнашки | Nikitos_ | Паскаль, Turbo Pascal, PascalABC.NET | 5 | 01.06.2012 23:23 |
я вот решил задать вопрос умнее... | pufystyj | Свободное общение | 34 | 10.07.2011 03:34 |
Есть игра, как сделать ее сетевой? | Ellita | Работа с сетью в Delphi | 24 | 25.03.2009 21:07 |