Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Определение мата в шахматах? 
:(
    Опции темы
Killer_13
Дата 27.5.2012, 12:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 12.1.2008
Где: Germany

Репутация: нет
Всего: 1



Подскажите пож как можно определить мат в шахматах? А то не могу придумать как это запрограммировать.
Дошел до того, что могу определять какие клетки под ударом, чтоб король туда не мог ходить.
Могу сделать, чтоб каждый раз проверяло не находится ли король под ударом... Это все можно, но вопрос и проблема в том, что если например король под ударом и все позиции куда он может походить тоже под ударом..
Остается такая штука как.. Противник жертвует фигурой прикрывая короля и после этого у короля например открывается свободная клетка для хода...

В общем, подскажите как кто видит как можно организовать мат для противника? Игра друг против друга, без "ИИ".

Спаасибо заранее, а то мучаюсь уже долго с этой проблемой.. :(
PM MAIL   Вверх
ksnk
Дата 27.5.2012, 13:10 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 7
Всего: 386



Мат определяется перебором ходов. Свой ход - ход противника. Если при любом своем ходе противник может взять короля - это мат.
Без перебора - нужно писать ИИ   smile 


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Killer_13
Дата 27.5.2012, 13:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 12.1.2008
Где: Germany

Репутация: нет
Всего: 1



Цитата(ksnk @  27.5.2012,  13:10 Найти цитируемый пост)
Если при любом своем ходе противник может взять короля - это мат.
 - В принципе, вы меня натолкнули на одну мысль... но это выльется наверное в больше чем сто строчек кода.. Ну в принципе это не оч важно, я не претендую на изобретения лучшего велосипеда. smile

Но все таки остается..
Цитата

Остается такая штука как.. Противник жертвует фигурой прикрывая короля и после этого у короля например открывается свободная клетка для хода...
 - или..?
PM MAIL   Вверх
ksnk
Дата 27.5.2012, 15:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 7
Всего: 386



Цитата(Killer_13 @  27.5.2012,  13:16 Найти цитируемый пост)
Но все таки остается..

Ничего не остается. Просмотр в  2 полухода - полное и достаточное определение мата.


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Killer_13
Дата 27.5.2012, 15:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 12.1.2008
Где: Germany

Репутация: нет
Всего: 1



НЕ совссем понимаю определение "полухода"..
А так.. вроде начинаю понимать, как мне это все забадяжить.. smile
PM MAIL   Вверх
ksnk
Дата 27.5.2012, 16:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 7
Всего: 386



Цитата(Killer_13 @  27.5.2012,  15:31 Найти цитируемый пост)
НЕ совссем понимаю определение "полухода"..

полуход - это ход одного противника. 2 полухода - ход обоих противников (для игры 2-х игроков) - полный ход smile

Разница только в том, что ход формально начинается с хода белых, а 2 полухода начинаются от ходящего сейчас игрока.


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Killer_13
Дата 27.5.2012, 22:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 12.1.2008
Где: Germany

Репутация: нет
Всего: 1



Значит так, добился пока этого, прошу поправить если что пропустил...

1. Если 2 шаха, то мат! Тоисть если король атакован двумя фигурами и ему некуда бежать.(сделал).
2. Если шах с одной фигуры и фигуру нельзя побить остается только подложить на пути атакующей фигуры другую фигуру. Правильно? 
3. Если фигуру нельзя побить и на пути нельзя ничего поставить и королю некуда бежать, то мат!

Еще варианты к определению мата в дополнение? Мыслей уже много прочитал, теперь стараюсь отобразить в коде, какие еще ситуации??

Еще бы придумать как "пат" определять... 

Всем спасибо!
PM MAIL   Вверх
nworm
Дата 27.5.2012, 23:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 502
Регистрация: 22.10.2005

Репутация: 4
Всего: 8



с матом правильно всё
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0617 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.