С Новым годом! Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.63/49: Рейтинг темы: голосов - 49, средняя оценка - 4.63
5 / 5 / 0
Регистрация: 08.05.2011
Сообщений: 215

ИИ в реверси

26.05.2011, 23:59. Показов 9775. Ответов 34
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вечер добрый, лего ли реализовать ИИ для реверси, если есть общий алгоритм, но на двух игроков?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.05.2011, 23:59
Ответы с готовыми решениями:

Реверси в консольном приложении - Как обработать ход игрока
Всем привет. У меня задача: написать реверси на си шарп , с консольным приложением интерфейса. Вопрос1: как обработать ход игрока,...

Перенос игры "Реверси" с С++ на С#
Игра реверси на С++ надо перенести на С#. Сам пытался перенести выдает ошибку не знаю как исправить. #include <stdio.h> #include...

Реверси
Помогите пожалуйста! У кого есть исходник для консольного вида? очень срочно нужен

34
37 / 32 / 2
Регистрация: 31.12.2009
Сообщений: 349
27.05.2011, 00:40
Так нужно ИИ или на двух игроков?
Алгоритм на двух игроков не нужен, нужны правила.
1
5 / 5 / 0
Регистрация: 08.05.2011
Сообщений: 215
27.05.2011, 01:13  [ТС]
Правила, верно. А что с ИИ? как заставить компьютер думать?
0
37 / 32 / 2
Регистрация: 31.12.2009
Сообщений: 349
27.05.2011, 01:38
Так определись ты делаешь с ИИ или два игрока?
или ты хочешь комп vs комп?
Думаю это курсовая, так что сойдет и два игрока.
0
 Аватар для chessman1
167 / 96 / 23
Регистрация: 13.03.2011
Сообщений: 402
27.05.2011, 07:21
Цитата Сообщение от zzz_ Посмотреть сообщение
Правила, верно. А что с ИИ? как заставить компьютер думать?
Тема достойная книги. Шахматы, шашки, реверси и другие логические игры используют для поиска
хода alfa-beta алгоритм. Если вам интересно, с алгоритмом можете ознакомить на моей страничке
http://chess-11.narod.ru/
там исходник шахматной на языке Python
0
5 / 5 / 0
Регистрация: 08.05.2011
Сообщений: 215
27.05.2011, 14:39  [ТС]
Цитата Сообщение от simply_denis Посмотреть сообщение
Так определись ты делаешь с ИИ или два игрока?
или ты хочешь комп vs комп?
Думаю это курсовая, так что сойдет и два игрока.
Нет не курсовая, я хочу сделать человек vs Компьютер.
0
185 / 188 / 17
Регистрация: 26.11.2010
Сообщений: 511
27.05.2011, 15:13
Есть книги по программированию шахмат на русском, например, Корнилов.
В реверси примерно то-же самое. Проблема в том, что все материалы на английском
0
 Аватар для chessman1
167 / 96 / 23
Регистрация: 13.03.2011
Сообщений: 402
27.05.2011, 15:42
Цитата Сообщение от Killster Посмотреть сообщение
Есть книги по программированию шахмат на русском, например, Корнилов.
В реверси примерно то-же самое. Проблема в том, что все материалы на английском
Да-да. Я по Корнилову учился. Глубоко копает и доходчиво объясняет.
0
185 / 188 / 17
Регистрация: 26.11.2010
Сообщений: 511
27.05.2011, 15:52
chessman1, У Корнилова алгоритмы десятилетней давности и нет многих важных эвристик и вообще, алгоритмов. Но это - единственная (!!!!) книга по программированию шахмат на русском.
0
5 / 5 / 0
Регистрация: 08.05.2011
Сообщений: 215
27.05.2011, 21:45  [ТС]
А если сделать просто рендомный выбор, но по правилам?
0
185 / 188 / 17
Регистрация: 26.11.2010
Сообщений: 511
27.05.2011, 21:49
Понадобится просто генератор ходов
1
5 / 5 / 0
Регистрация: 08.05.2011
Сообщений: 215
27.05.2011, 22:01  [ТС]
У меня на форме 64 buttonа, правила в одной процедуре, как написать генератор?
0
 Аватар для chessman1
167 / 96 / 23
Регистрация: 13.03.2011
Сообщений: 402
27.05.2011, 22:10
Цитата Сообщение от zzz_ Посмотреть сообщение
А если сделать просто рендомный выбор, но по правилам?
Играть будет хуже новорожденного.

Добавлено через 1 минуту
Нам пора на игровой форум переходить
0
5 / 5 / 0
Регистрация: 08.05.2011
Сообщений: 215
27.05.2011, 22:16  [ТС]
Цитата Сообщение от chessman1 Посмотреть сообщение
Играть будет хуже новорожденного.
Ну хотя бы призрачная имитация интелекта (или человека не знающего смысл игры)
0
 Аватар для chessman1
167 / 96 / 23
Регистрация: 13.03.2011
Сообщений: 402
27.05.2011, 22:21
Цитата Сообщение от zzz_ Посмотреть сообщение
, как написать генератор?
Генератор для реверси не сложный - надо учитывать только ходы в пустые клетки, где рядом есть шашка противника.
Более тонкий вопрос в какой структуре их учитывать. Я когда chess11x11 писал, остановился на простом одномерном
массиве, к которому написал несколько вспомогательных процедур, как то - вставка найденного хода в конец массива,
извлечение и прочь - про вариант игры с графическим интерфейсом - он на С# писан. На питоне я писал прототип -
там всё просто на списках построено.
1
5 / 5 / 0
Регистрация: 08.05.2011
Сообщений: 215
27.05.2011, 22:27  [ТС]
Ну есть одномерный массив на 64 элемента, если Белая кнопка -1, если черная - 2, а если не нажатая, то 0. Просто походу, чуть не так написана прога... Прикрепляю - гляньте пожалуйста. Что там можно будет сделать
Вложения
Тип файла: rar Reversi22.rar (60.1 Кб, 68 просмотров)
0
 Аватар для chessman1
167 / 96 / 23
Регистрация: 13.03.2011
Сообщений: 402
27.05.2011, 22:51
С листингом ознакомился (не стесняйтесь комментировать).
Запуcтить exe не могу - я сейчас на линуксе.
Обрабатывать в циклах кнопки - плохая идея. Согласитесь
что целые обрабатываться быстрее чем объекты. Кнопки надо обрабатывать на самом верхнем уровне только на
вход данных.

C#
1
2
3
4
5
private void button63_Click(object sender, EventArgs e)
        {
            Index = 62;
            this.doit(Index);
        }
У меня было похоже:
C#
1
2
3
4
5
private void button63_Click(object sender, EventArgs e)
        {
            Index = 62;
            proc(Index);
        }
C#
1
proc()
- уже запускала всю внутреннюю работу по поиску лучшего хода.
1
5 / 5 / 0
Регистрация: 08.05.2011
Сообщений: 215
27.05.2011, 22:55  [ТС]
Там вся проблема в том, что я могу выбрать к примеру верхнюю левую кнопку, хотя мне до неё ого-го сколько, нужно ввести процедуру, которая смотрит если есть какие-нибудь рядом кнопки, тогда срабатывает this.doit(Index), а если нет - тогда не срабатывает и какой-нить MessageBox выдает. Правильно?
А с генератором ходов что делать?
0
 Аватар для chessman1
167 / 96 / 23
Регистрация: 13.03.2011
Сообщений: 402
27.05.2011, 23:09
Цитата Сообщение от zzz_ Посмотреть сообщение
Там вся проблема в том, что я могу выбрать к примеру верхнюю левую кнопку, хотя мне до неё ого-го сколько, нужно ввести процедуру, которая смотрит если есть какие-нибудь рядом кнопки, тогда срабатывает this.doit(Index), а если нет - тогда не срабатывает и какой-нить MessageBox выдает. Правильно?
А с генератором ходов что делать?
Правильно.
Если хотите что-бы программа более-менее разумно заиграла, придется писать поиск в глубину (например на 4-е
полухода). На этой глубине надо оценить позицию, т.е. нужна оценочная функция, которая будет учитывать материал
и позицию. Тут без генератора ходов никуда.
1
5 / 5 / 0
Регистрация: 08.05.2011
Сообщений: 215
27.05.2011, 23:13  [ТС]
да не разумность нужна, пока нужно просто ввести ограничение, чтобы можно было закрашивать только кнопки, которые рядом. (это можно даже для человек vs человек). А вот потом может просто процедуру, которая пробегается по всему массиву, и находит первый элемент равный нулю, пытается закрасить кнопку, но к примеру не может (рядом нет других кнопок), тогда смотрит следующую, и так пока не найдет нужную..
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.05.2011, 23:13
Помогаю со студенческими работами здесь

Реверси
Здравствуйте, для школы нужно было создать игрока который будет играть в Реверси, совершенно простого, чтобы играл рандомно. Но программа...

Реверси (ошибка)
Здравствуйте. Я пишу курсовую. Для нее нужно написать игру реверси. Я её не дописал потому, что при компиляции возникает...

Игра Реверси
Вечер добрый ) у меня к общественности большая просьба, без помощи настоящих программистов мне не обойтись... Суть дела вот в чем: у меня...

Игра реверси на MFC
Здорова! Есть консольная версия игры реверси, когда то давно делал, а щас от как будет время думаю добавить GUI к ней на MFC. Нужно...

В пакете 1С 8.0 написать программу «Реверси»
В пакете 1С 8.0 написать программу «Реверси» - перестановка букв в слове в обратном порядке.


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru