Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.80
edward_freedom
1402 / 1304 / 237
Регистрация: 01.10.2011
Сообщений: 2,064
#1

Алгоритм умной стратегии компьютера, крестики - нолики - C++

21.04.2014, 16:40. Просмотров 2588. Ответов 7
Метки нет (Все метки)

Ребят, подкиньте идей реализации
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.04.2014, 16:40
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Алгоритм умной стратегии компьютера, крестики - нолики (C++):

Алгоритм хода компьютера в игре "Крестики-Нолики" на неограниченном поле - C++
Крестики нолики на неограниченном поле

Крестики-нолики. Ход компьютера - C++
Необходимо, чтобы компьютер не просто ходил рандомными числами, но мешал выиграть игроку и пытался выиграть сам. Заранее спасибо)

Крестики-Нолики. Ход компьютера - C++
Если у кого-то вдруг осталась реализация ходов компьютера для игры крестики-нолики, буду ПРЕМНОГО БЛАГОДАРЕН, если поделитесь. Я почитал...

Написать алгоритм ничьей в крестики-нолики - C++
Всем привет возникла проблема,программа исправно работает но когда открывается консоль для игры вот у меня пронумерована игровая сетка...

Крестики-нолики - алгоритм для игры против ПК - C++
Смотрю, уже только ленивый не сделал. Собственно это я. Вчера сел, написал свои 200 строк какашкокода для любого поля с любым количеством...

Написать AI для игры крестики-нолики (алгоритм самообучающегося бота) - C++
Хочу написать подобным алгоритм, но даже не знаю с чего начать. В интернете перерыл все, ничего полезного гн нашел. Подскажите основы...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
edward_freedom
1402 / 1304 / 237
Регистрация: 01.10.2011
Сообщений: 2,064
24.04.2014, 12:02  [ТС] #2
Сделал пока что так, но рандомно
C++
1
2
3
4
5
6
int _rand = Rand();
    while (board[_rand] != '-')
    {
        _rand = Rand();
    }
     board[_rand] =  '0';
IrineK
Заблокирован
24.04.2014, 12:09 #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от edward_freedom Посмотреть сообщение
подкиньте идей
У меня тут картинка завалялась
Миниатюры
Алгоритм умной стратегии компьютера, крестики - нолики  
Игорюня
20 / 16 / 7
Регистрация: 07.12.2013
Сообщений: 244
24.04.2014, 12:11 #4
Мне вот было интересно,а как тогда пишут шахматы,например? Я не думаю,что там миллионы if...
Kuzia domovenok
1891 / 1746 / 118
Регистрация: 25.03.2012
Сообщений: 5,924
Записей в блоге: 1
24.04.2014, 12:14 #5
Игорюня, тот же алгоритм альфа-бета отсечения с натяжкой можно назвать "миллионом if". А что тебя смущает? Ничего сильно лучше не придумано. http://ru.wikipedia.org/wiki/%D0%90%...BD%D0%B8%D0%B5

или ты имеешь в виду, что код для шахмат или крестиков-ноликов пишут не индусы в стиле
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
if (){
   if (){
       ***
   }
   else{
       ***
   }
}
else{
   if (){
       ***
   }
    else{
       ***
   }
}
Ну да, буквально воспринимать совет писать миллион if не стоит - Ну так напиши красиво, с красивыми функциями и.т.п. Суть-то одна - полный перебор.
Игорюня
20 / 16 / 7
Регистрация: 07.12.2013
Сообщений: 244
24.04.2014, 12:32 #6
Теперь ясно,почему индусов 1,237 миллиарда.Какая шутка.
newbie666
Заблокирован
24.04.2014, 12:40 #7
а слабо нейронные сети задействовать?
Bino321
2 / 2 / 0
Регистрация: 22.11.2013
Сообщений: 33
24.04.2014, 20:48 #8
Цитата Сообщение от Игорюня Посмотреть сообщение
Мне вот было интересно,а как тогда пишут шахматы,например? Я не думаю,что там миллионы if...
Я сейчас думаю писать шахмоты (уже давненько часть написал, а сейчас думаю продолжить и интелект туда написать), то планирую сделать так: компьютер перебирает все возможные ходы, после выполнения одного хода он опять делает все возможные ходы, и так раз 5 (получается он смотрит все возможные ходы на 5 шагов в перед). Затем ввести систему баллов, например если компьютер бьет пешку +1 бал, ладью +5 балов, ферзю +8 балов, а если под ударом оказуется пешка компьютера -1 бал, ладья -5 балов, ферзь -8 и т.д. (цифры будут корректироватся). И программа делает первый ход варианта набравшего больше всего балов. Конечно, в этом алгоритме много чего не учтено пока, но суть такая.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.04.2014, 20:48
Привет! Вот еще темы с ответами:

Крестики-нолики - C++
Захотелось написать игру Крестики-нолики но тут возник один вопрос, как будет ходить компютер, если пользоватся rand-ом то компютер будет...

Крестики Нолики - C++
вот задали написать игру , скажите нормально впринципе написал или нет , и один вопрос немогу почемут зделать чтоб проверяло кто выиграл ) ...

Крестики нолики на С - C++
Здраствуйте. Помогите пожалуйста написать игру в консоли. Это крестики нолики поле 3х3. Буду благодарен если поможете и объясните. ...

Крестики-нолики - C++
Добрый вечер. Хочу попробовать написать свои крестики-нолики. Игру еще не дописал, но уже появилась следующая проблема. По идее, если я...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
24.04.2014, 20:48
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru