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

Крестики-нолики - алгоритм для игры против ПК - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Запись двумерного массива в файл http://www.cyberforum.ru/cpp-beginners/thread1497325.html
В общем нужно записать двумерный массив в фаил, но что то ни как не получается. //magicQuad.h #ifndef MAGICQUAD_H #define MAGICQUAD_H #include <iostream> using std::cout; using std::endl;...
C++ OpenGL: Вывести значения двух функций Пытаюсь разобраться с opengl , хотел вывести две функции , но выдает ошибку , подскажите как исправить. #include <iostream> #include<openGL/gl.h> #include<Glut/glut.h> void draw() { ... http://www.cyberforum.ru/cpp-beginners/thread1497320.html
C++ Работа с динамическими символьными массивами и строками переменной длины
Здравствуйте! НЕ могу решить проблему из-за которой программа летит коту под хвост) Задача программы в том, чтобы по заранее заданным в поле номерам считать файлы с именами схожей конструкции:...
Что такое __pragma(warning()) ? C++
Вот код макроса: #define PTM_WARNING_DISABLE \ __pragma(warning( push )) \ __pragma(warning( disable : 4867 )) Что эти функции делают? И что это за функция __pragma? От ее определение нельзя...
C++ Комбинаторика. Вывести все слова, которые можно составить из данных букв http://www.cyberforum.ru/cpp-beginners/thread1497305.html
Всем привет. Вобщем. Есть такая игра, в которой дают 4 картинки, которые можно описать одним словом, длину этого слова и набор букв из которых должно быть составленно слово. Задание: Вывести...
C++ Как исправить константу int 0=n%100; как сделать что б програма полностью заработала?????????? #include<iostream> using namespace std; int main() { *cout <<" vvedite kolichestvo pirogkov: "; int n; подробнее

Показать сообщение отдельно
mr_mczakenberg
65 / 65 / 31
Регистрация: 10.04.2015
Сообщений: 281

Крестики-нолики - алгоритм для игры против ПК - C++

11.07.2015, 19:46. Просмотров 1344. Ответов 6
Метки (Все метки)

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

Пока есть следующий вариант:
if Проверить возможность победы PC в 1 ход.


else if Проверить возможность победы игрока в 1 ход(запомнить последний ход игрока, проверить все 8 направлений на возможность победы.
if(возможна и 1 вариант) перекрыть поле.
else if(возможна и 2+ варианта) "I'm lost"

else Победа ни ПК ни игрока в 1 ход невозможна. Тут бы хотелось проверить победу еще на 2 хода в глубину, а то и на 3, но совсем не догадываюсь как.


Поэтому - Просто поставить "нолик" рядом в рандомном направлении от "крестика" игрока.

Но это в лучшем случае будет "легкий" компьютер. Т.к. первая же комбинация на двойную угрозу - и он проиграл.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru