Шахматы

Тема в разделе "WASM.ZEN", создана пользователем cresta, 12 ноя 2006.

  1. cresta

    cresta Active Member

    Публикаций:
    0
    Регистрация:
    13 июн 2004
    Сообщения:
    2.257
    Модуль проверки правильности хода. Есть такое в природе? Поделитесь ссылкой или самим модулем, если есть. Если нету такового, как его сделать? Кто-нибудь пробовал? Есть мысли по поводу?
     
  2. Freeman

    Freeman New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2005
    Сообщения:
    1.385
    Адрес:
    Ukraine
    Шахматная доска поделена на клетки, у каждой клетки есть координаты. Есть набор фигур. Для каждой фигуры есть правила, по которым она должна ходить... Сделать для каждой фигуры процедуру проверки, адреса процедур в массив - индекс массива - номер фигуры. Каждая из процедур на входе должна иметь 2 параметра - начало, конец хода, выход - возможен ли ход. При чем должна учитыватся занятость ячеек на пути к конечной для некоторых фигур.
     
  3. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    Вот должно помочь. Ну и поиск по sf.net.
     
  4. q_q

    q_q New Member

    Публикаций:
    0
    Регистрация:
    5 окт 2003
    Сообщения:
    1.706
    cresta
    Что надо проверить: правилен ли ход с точки зрения "правил игры в шахматы" или с точки зрения "улучшит ли он позицию"?
     
  5. cresta

    cresta Active Member

    Публикаций:
    0
    Регистрация:
    13 июн 2004
    Сообщения:
    2.257
    Всё не так сложно, позицию анализировать не нужно. Просто соблюдение правил хода фигур. Т.е. возможен ли ход в принципе или нет.
    По ссылке статья интересная, но там анализ автоматов для игры. А на sf нашёл только программы.
     
  6. LOL

    LOL New Member

    Публикаций:
    0
    Регистрация:
    28 апр 2006
    Сообщения:
    175
    Адрес:
    Russia
    [Обозначения: наша фигура - фигура, которой делаем ход. Ход которой и нужно проверить на правильность]
    Все не очень сложно. Ошибка будет, когда:
    0. Траектория хода не соответствует фигуре.
    1. Конечная клетка занята своей фигурой.
    2. На пути к конечной клетке находится своя или чужая фигура. [Если, конечно, не ходим конем]
    3. Шах королю. Т.е. либо король уже под шахом, либо после хода нашей фигурой король попадает под шах.

    Ну еще нужно не забыть про т.н. "взятие на проходе". Я видел как один шахматист слил партию забыв про это, хотя можно было и выиграть в его ситуации ;)

    Ну а движки наверняка есть, только я не припомню ни одних OpenSource'эвых шахмат.
     
  7. hamper

    hamper Member

    Публикаций:
    0
    Регистрация:
    21 ноя 2005
    Сообщения:
    37
    Адрес:
    Russia
    И не забудьте про рокировку.
     
  8. clone

    clone New Member

    Публикаций:
    0
    Регистрация:
    4 июл 2006
    Сообщения:
    84
    LOL
    http://tim-mann.org/xboard.html
     
  9. cresta

    cresta Active Member

    Публикаций:
    0
    Регистрация:
    13 июн 2004
    Сообщения:
    2.257
    Это на первый взгляд просто. Проверки наслаиваются друг на друга (условий достаточно много). А хотелось на халяву... Придётся таки писать самому.
     
  10. Sharp

    Sharp New Member

    Публикаций:
    0
    Регистрация:
    1 авг 2003
    Сообщения:
    143
    Адрес:
    Ukraine
    GNU Chess