Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 15.03.2014
Сообщений: 5

Поиск выигрышных ситуаций для крестиков-ноликов на неограниченном поле

15.03.2014, 18:52. Показов 1123. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Каким способом можно наиболее эффективно найти на игровом поле координаты всех ячеек, заполнение которых приведёт к выигрышу?

Соответственно возможны следующие варианты: XXX_, XX_X, X_XX, _XXX по горизонтали, аналогичные по вертикали и по обеим диагоналям. (X — занятая ячейка, _ — пустая)

Сначала я искал простым проходом всего массива: ставил на пустую клетку сначала X, затем O и каждый раз проверял некий checkWin(), есть ли победитель.

Однако, так как поле условно «неограниченно», этот вариант работает слишком медленно, нужно что-то более эффективное.

Как это можно сделать? Неужели единственный вариант — городить кучу if'ов и проверять каждую из шестнадцати возможных ситуаций?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.03.2014, 18:52
Ответы с готовыми решениями:

ИИ для крестиков ноликов на С++
вот написал крестики нолики 3х3 но немогу написать ИИ для компа тупо перебирать все комбинации типа : if(a==a && a!=' '){...

Функция для крестиков-ноликов
Здравствуйте, я пишу свою первую программу на функциональном языке программирования, поэтому возникают большие сложности. Можете...

Бот для крестиков-ноликов
Хочу написать бота для крестиков-ноликов и вот тут незадача, или нужно перечислять все комбинации что являеться не сильно приятным, :wall: ...

1
 Аватар для lemegeton
4903 / 2696 / 921
Регистрация: 29.11.2010
Сообщений: 5,783
16.03.2014, 18:36
Первое, что приходит в голову -- сделать стейт-машину.
Надо пройти массив два раза -- по горизонтали и по диагонали. Сложность O(n).
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.03.2014, 18:36
Помогаю со студенческими работами здесь

Алгоритм минимакс для Крестиков-Ноликов
Объясните пожалуйста следующую минимакс функцию // основная минимакс-функция static int Minimax(int hypothetical_board, int...

Сделать графический интерфейс для крестиков-ноликов
Здравствуйте. Есть код для крестиков-ноликов, все более-менее работает. Хочу сделать GUI с помощью PyQT, пока сложно все это доходит до...

Искусственный интеллект для больших крестиков-ноликов
Пишу игрушку - клеточное поле 19*19, крестики и нолики, надо составить 5 в ряд. Написал, все, кроме искусственного интеллекта. Не могу даже...

Создать массив для игрового поля крестиков-ноликов
Создать массив 13Х13 и заполнить его символами так, чтобы получилось игровое поле для крестиков-ноликов

Какую библиотеку/гем лучше всего использовать для создания графических крестиков-ноликов на Ruby?
Какую библиотеку/гем лучше всего использовать для создания графических крестиков-ноликов на Ruby?


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru