Помощь · Поиск · Пользователи · Календарь
Полная версия этой страницы: Моя шахматная программа
AnimeKazan Forum > Разное > Железо и программы
da-nie
От нефиг делать, сделал в прошлые 3 праздничных выходных шахматный движок. Очень простой и примитивный. Использует только альфа-бета и ход Killer. Анализ идёт на 4 хода вперёд без продлений шахов и взятий. Нифига не оптимально. Зато понятно, как работает. smile.gif Не на современном компе и не запускайте - думает весьма долго. На I3 может пару минут думать над ходом. Ходить можно как с клавиатуры e2-e4, так и мышкой - левая кнопка откуда ходит, правая куда. Чтобы съесть проходную пешку надо указать на съедаемую пешку, а не на поле под ней - фигура переместится правильно автоматически.
Рокировка задаётся ходом короля.
Как обычно, всё с исходными кодами. О мате программа не сообщает. smile.gif

Нажмите для просмотра прикрепленного файла

Удачи! smile.gif
Shaman Anime
Помнится была такая игра для БК-0010, с тремя уровнями сложности. На первом уровне работала довольно шустро, менее минуты ход. Зато на третьем можно было спокойно чай попить, порой по 30 мин и более думала. Если у тебя на i3 думает 2 минуты, то что-то не так с логикой программы.
da-nie
Цитата
Если у тебя на i3 думает 2 минуты, то что-то не так с логикой программы.


biggrin.gif biggrin.gif biggrin.gif Да нет, с логикой всё так. Для анализа на 4 хода она и должна столько думать. Чтобы она не думала 2 минуты придуманы разные методы отсечения (нулевой ход, сортировка взятий, хэш-таблицы, оценка форсированных ходов и т.д. и т.п.). Но, как я уже сказал, я их не реализовал.
К тому же есть большая разница в том, как отрабатывать ходы - вместо структур описаний фигур и ходов используют битовые массивы - всё ускорено до предела. Я этого не применял и вот почему. Вот вам исходник шахматной программы для микроконтроллера:

Нажмите для просмотра прикрепленного файла

Понятно чего-либо? biggrin.gif Всё оптимизировано в ущерб читаемости и понятности. Зато считает очень быстро. Правда, моей программе с анализом на 4 хода она проиграла. smile.gif
Sanyok774
Цитата
На I3 может пару минут думать над ходом

Блин, а у меня i3 как раз. biggrin.gif Всё равно скачаю, попробую сыграть. smile.gif
da-nie
Я эту программу испытывал на оппонентах с сайта www.http://chessfield.ru/chess-online Оба раза оппоненты проиграли. smile.gif
Shaman Anime
А если сравнить с той же программой от БК? Запустить на эмуле и сравнить.
da-nie
Так попробуйте. smile.gif У меня эмулятора нет.
Shaman Anime
Не помню, честно, где он лежит. Да и сама игра наверно там же. Последний раз запускал эмуль, когда ещё на ХР сидел. Возможно потеряна, когда полетел хард с ХР.
Sanyok774
Попробовал сыграть. Проиграл. biggrin.gif
Комп действительно очень долго думает над каждым ходом.
da-nie
Ну, не очень долго. wink.gif Обычное время - пол-минуты...минута. smile.gif Ускорить можно эвристикой с нулевым окном и я думаю её попробовать. Уже попробовал нулевой ход, но мне не понравилось ухудшение качества анализа (нулевой ход - неточная эвристика и его чтобы применять надо кое-какие условия соблюдать, которые я пока не реализовал). Хотя ускорение раз в 5-10 имеет место быть.
Я пока тоже не выиграл, как не выиграл и компьютер в шахматы-онлайн на уровне medium на одном из сайтов.
da-nie
Исправил кое-какие ошибочки (скажем, пешка могла короля затереть своим ходом вперёд smile.gif ) и немного ускорил программу. smile.gif

Нажмите для просмотра прикрепленного файла

Предыдущий вариант с "ускорениями",увы, у меня на работе шахматисты обыграли. А вот этот ещё не пробовал.
da-nie
А вот новая версия. smile.gif Добавлено продление анализа взятий+поиск стремления. smile.gif Поэтому считает быстрее старой версии в несколько раз. А как играет можете проверить сами. smile.gif Ну и ошибку очередную убрал - программа не видела мата чёрным.

Нажмите для просмотра прикрепленного файла

Кто выиграл, сообщайте. smile.gif Вообще, я думаю на PSP портировать такие шахматы. rolleyes.gif Как только скорость анализа будет подходящая для PSP. cool.gif
da-nie
Очередное обновление. smile.gif Ещё быстрее, ещё мощнее. smile.gif

Нажмите для просмотра прикрепленного файла
da-nie
P.S. Очень глючит у вас форум. Добавить сообщение у меня получается раза с 15-го и то в лучшем случае. А так при нажатии "Отправить" - попытка соединения не удалась. А уж редактирование и вовсе не прокатывает.
Sanyok774
Если форум только вчера вечером глючил, то это нормально. У меня с интернетом проблемы были.
da-nie
Нет, он весьма часто так. Хотя сейчас работает вроде бы нормально.
da-nie
Ну-с, очередное обновление. Движок стал быстрее, мощнее, сильнее и прочее и прочее. smile.gif
Ах да, чего это я про движок говорю? smile.gif Да просто я оформил как простой UCI-движок программу. smile.gif Ну и версия с моей оболочкой тоже в комплекте. smile.gif

Нажмите для просмотра прикрепленного файла

da-nie
Очередное обновление: Нажмите для просмотра прикрепленного файла
Sanyok774
Вот! Теперь даже на ноутбуке стареньком комфортно играть! smile.gif smile.gif

А уровни сложности реально сделать? А то проигрывать надоело. biggrin.gif
da-nie
Уровень игры примерно КМС при штатных настройках. smile.gif
Вот с уровнями сложности. smile.gif

Нажмите для просмотра прикрепленного файла

Опять сообщения не добавляются. "Соединение сброшено".
Sanyok774
Спасибо! Попробуем сыграть. smile.gif
Русская версия IP.Board © 2001-2019 IPS, Inc.