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

Крестики-нолики - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Глобальные переменные http://www.cyberforum.ru/cpp-beginners/thread932271.html
Подскажите пожалуйста, почему данные в глобальной переменной перезаписываются, а не плюсуются? Пример: int peremennaya; void foo(); void main() { char ans;
C++ Не использовать имя класса при его реализации Из-за того, что не смог грамотно сформулировать свой вопрос, не нашел ничего в гугле :( Поэтому объясню на примере: Допустим, есть некий класс Example, объявление которого заключено в заголовочный... http://www.cyberforum.ru/cpp-beginners/thread932270.html
C++ Указатель,объект класса размещенный в динамической памяти
Ребят,такой маленький нелепый вопрос. Как можно обратиться к объекту класса созданному в динамической памяти(через "new")?; В моей книге описано два способа. Первый ,к примеру вот #include...
Шаблон класса complex. Ошибка undefined reference to `complex<double>::SetRe(double)' C++
Есть такой файл complex.h #ifndef COMPLEX_H #define COMPLEX_H template<class Type> class complex{ public: Type Re; Type Im; complex(Type re = 0, Type im = 0):Re(re),Im(im){}
C++ Перехват значений параметров шаблона http://www.cyberforum.ru/cpp-beginners/thread932253.html
Вопрос, собственно, в развитие этой темы - http://www.cyberforum.ru/cpp-beginners/thread930128.html Есть вот такой код: namespace spec { template <int... Idx> struct index { }; ...
C++ OpenGL для новичка Всем привет. Никак не могу найти книгу по OpenGL и C++, хотя нет, вру, находил. Но они так сказать далеко не первой свежести. Я хотел бы написать змейку (в консоле с графикой), и вот думаю... подробнее

Показать сообщение отдельно
Nikitko_Cent
143 / 113 / 12
Регистрация: 27.10.2011
Сообщений: 681
Завершенные тесты: 3
01.08.2013, 23:03
Цитата Сообщение от dima55501 Посмотреть сообщение
И сразу же такой вопрос. Может кто нибудь натолкнет на мысль, как лучше было бы создать "интеллект" для компа, чтобы не просто рандомно тыкал 0.
В общем так:
Первый ход делать в центр\углы

далее:
1. сканируешь игровое поле на наличие прямых (т.е. столбцов, строк или диагоналей) с двумя твоими (считай, что ты - компьютер) значками и пустой ячейкой. Если такая прямая есть - втыкай третий свой значек -> win
2. если таких прямых не оказалось, то аналогично ищи прямые с двумя вражескими значками и пустой ячейкой. Если нашел - то втыкай в эту пустую ячейку свой значек, дабы предотвратить проигрыш.
3.если и таких прямых не нашлось, то пихай свой значек рандомно с приоритетом в центр\углы

При такой стратегии в свое время при написании крестиков ноликов, я столкнулся с одной проблемой - игрок может поставить "ловушку", когда у него будет одновременно две предвыигрышные ситуации. Но рассмотреть этот частный случай не составит особого труда (в плане написания кода).

Пример самой ловушки:

O.X
.O.
X.X

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