Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.01.2015, 17:06   #1
AlexLaw
 
Регистрация: 17.01.2015
Сообщений: 5
По умолчанию

Во время праздников набросал генератор ходов на делфи.
Использовал bitboard.
Алгоритм полностью мой.
На мой взгляд получилось довольно компактно.
Визуализацию делал простенькую, потому что цель-это генератор ходов.
clip0003.png
Описание:
На вход подается bitboard фигур,выбранная фигура,цвет,номер поля.
На выходе получаем bitboard возможных ходов этой фигуры.
Пока в данном генераторе не реализовано следующее:
1.Взятие на проходе
2.Ход короля при рокеровке.
3.Ход данной фигуры, при шахе своему королю.
Кто хочет протестировать генератор на предмет ошибок и кому это вообще интересно
MyChess.zip
Сам исходник и алгоритм пока не выкладываю,
Мой еМайл alexlaw@list.ru

Выкладываю исходники.
MyChess1801.zip
Кто желает размять мозги,
может прикрутить искуственный интелект.

Реализовал в генераторе "3.Ход данной фигуры, при шахе своему королю."
Визуализацию дополнил ботом для черных.
Черные отвечают случайным доступным ходом, возвращаемый генератором.
MyChess2401.zip-исходники
Не реализована связка фигуры.
PS. Цель получить генератор ходов, в соответствии с
шахматными правилами.
MyChess.zip-Скомпилированный файл для теста

Последний раз редактировалось Stilet; 03.05.2015 в 16:12.
AlexLaw вне форума Ответить с цитированием
Старый 24.01.2015, 22:10   #2
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Цитата:
Взятие на проходе
А что это такое?

И еще фигурка не меняется при проходе пешки в "дамки"(как это у Вас зовется я без понятия)
Poma][a вне форума Ответить с цитированием
Старый 24.01.2015, 22:20   #3
AlexLaw
 
Регистрация: 17.01.2015
Сообщений: 5
По умолчанию

Цитата:
Сообщение от Poma][a Посмотреть сообщение
А что это такое?

И еще фигурка не меняется при проходе пешки в "дамки"(как это у Вас зовется я без понятия)
Это не для игры в шахматы.
Это для шахматных программистов.
AlexLaw вне форума Ответить с цитированием
Старый 24.01.2015, 22:23   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
А что это такое?
Пешка со своей стартовой позиции может вперед на два поля ходить. Противник может её убить, если есть чем, не только на том поле, где она остановилась, но и на пропущенном. Вот убийство (жалко пешку) на том пропущенном и есть взятие на проходе
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 24.01.2015, 23:36   #5
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Ага.. Спасибо
Poma][a вне форума Ответить с цитированием
Старый 31.01.2015, 17:03   #6
AlexLaw
 
Регистрация: 17.01.2015
Сообщений: 5
По умолчанию

Последняя версия
MyChess3001.zip-исходники
MyChess.zip-скомпилированный файл
AlexLaw вне форума Ответить с цитированием
Старый 02.02.2015, 10:12   #7
kvitaliy
Участник клуба
 
Регистрация: 17.05.2011
Сообщений: 1,660
По умолчанию

А можете сделать DLL, скажем функция - на вход подаем свой ход , типа E2E4, на выходе ответный ход компьютера.
Можно было бы использовать в других ЯП.
kvitaliy вне форума Ответить с цитированием
Старый 02.02.2015, 10:45   #8
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

там все привязано к виз. компонентам, довольно топорно, без комментариев

ТС, для чего это?
Цитата:
aKnight: array [0..63] of UInt64 =(132096,329728,659712,1319424,2638 848,5277696,10489856,4202496,
33816580,84410376,168886289,3377725 78,675545156,1351090312,2685403152, 1075839008,
8657044482,21609056261,43234889994, 86469779988,172939559976,3458791199 52,687463207072,275414786112,
2216203387392,5531918402816,1106813 1838464,22136263676928,442725273538 56,88545054707712,175990581010432,7 0506185244672,
567348067172352,1416171111120896,28 33441750646784,5666883501293568,
11333767002587136,22667534005174272 ,45053588738670592,1804958342263603 2,
145241105196122112,3625398044469493 76,725361088165576704,1450722176331 153408,
2901444352662306816,580288870532461 3632,11533718717099671552,462069335 6194824192,
288234782788157440,5764695698712821 76,1224997833292120064,244999566658 4240128,
4899991333168480256,979998266633696 0512,1152939783987658752,2305878468 463689728,
1128098930098176,2257297371824128,4 796069720358912,9592139440717824,
19184278881435648,38368557762871296 ,4679521487814656,9077567998918656) ;
Человек_Борща вне форума Ответить с цитированием
Старый 03.02.2015, 11:19   #9
AlexLaw
 
Регистрация: 17.01.2015
Сообщений: 5
По умолчанию

Решил опубликовать описание алгоритма, т.е. ход своих размышлениий,
а каждый пусть решает сам топорная эта работа или нет.
Это всего лишь пример подхода к решению задачи.
У каждого может быть свой подход.
MoveGenerator.zip
AlexLaw вне форума Ответить с цитированием
Старый 03.05.2015, 16:05   #10
AlexLaw
 
Регистрация: 17.01.2015
Сообщений: 5
По умолчанию

Давно не заходил.
Чтобы закрыть тему выкладываю окончательный вариант
Если 2 раза кликнуть по доске откроется доп панель для решения двухходовок.
clip0054.jpg
Сами файлы - Mat2Move.zip
Задачи брал отсюда-http://chessproblem.ru/id7056
Правая кнопка мыши-доп меню.
Удачи
AlexLaw вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Шахматы. Delphi! mugla Помощь студентам 10 28.06.2013 20:13
Смена ходов gadilla_cs Общие вопросы Delphi 0 11.03.2011 17:44
Шахматы в Delphi ivansiasise Фриланс 8 20.09.2010 17:39
Delphi шахматы kacky Помощь студентам 3 30.10.2008 20:09