Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

крестики-нолики: алгоритм

9.1K
11 августа 2005 года
net
15 / / 22.06.2005
никак не могу придумать нормальный алгоритм проверки по игре крестики-нолики. Поле 3*3, после пятого хода (ходы записываются в двумерный массив: 0 или 1) надо начинать проверку, есть ли победа, но кроме тупого перебора каждой комбинации ничего не придумывается.
488
11 августа 2005 года
Mоngооsе
465 / / 01.04.2005
Нужно проверить, только те комбинации в которых участвует последним поставленный символ.

Это если центральная ячейка, тогда 4 комбинаций.
Если угловая - 3 комбинаций
средняя-крайняя - 2 комбинаций.

Вообще есть 8 комбинаций.

Каждой ячейке нужно бы присвоить сигнатуру. Если в i-й позиции стоит 1 значит проверяется i-я комбинация.

Например левая-верхняя ячейка имеет сигнатуру 0x49 или в двоичном виде 01001001
276
12 августа 2005 года
Rebbit
1.1K / / 01.08.2005
Цитата:
Originally posted by Mоngооsе
Нужно проверить, только те комбинации в которых участвует последним поставленный символ.

Вообще есть 8 комбинаций.



Немножко не то что спросили щас напишу (сори)

В етой игре ввобще мало комбинаций. Считаем:
9 клеток по 3 состояния (пусто, крестик, нолик)

Всево комбинаций 3^9=19683

Такой масив в память влезет. Если для каждой комбинации пощитать будет ли она финальной и кто победит, то можно получать результат по индексу из масива. Звучит как бред конечно. Но можно пойти и далее. А что если заставить програму играть с человеком. Тогда для каждой комбинации можно записать в масив ход для програми, которий приведет ее к выиграшу (если он возможен).

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог