Алгоритм игры в шашки

Discussion in 'Болталка' started by Matrix001, 11 Mar 2018.

  1. Matrix001

    Matrix001 Member

    Joined:
    18 Aug 2016
    Messages:
    188
    Likes Received:
    89
    Reputations:
    3
    Какой алгоритм игры в шашки в словах. Если писать на языке.
     
  2. user100

    user100 Moderator

    Joined:
    24 Dec 2011
    Messages:
    4,497
    Likes Received:
    16,632
    Reputations:
    373
    Правила игры
    • Игра ведётся на доске 8х8 клеток, только на черных ячейках
    • Шашки в начале игры занимают первые три ряда с каждый стороны
    • Бить можно произвольное количество шашек в любых направлениях
    • Простые шашки ходят только вперёд
    • Простая шашка может срубить назад
    • Дамка ходит на любое число полей в любую сторону
    • Проигрывает тот, у кого не остается фигур, либо ходов
    • Шашка снимается с поля после боя (можно перефразировать так: одну шашки нельзя срубить дважды за один ход)
    • Бить обязательно
    • Шашка превращается в дамку, достигнув восьмой (для белых) или первой (для черных) линии доски
    • Если шашка во время боя проходит через дамочное поле, то она превращается в дамку и следующие бои (если они возможны) совершает уже как дамка.
    Советую почитать: https://habrahabr.ru/post/227911/

    З.ы.
    Исходников в Гугле целое море подовсё.
     
    _________________________
    Matrix001 likes this.
  3. Matrix001

    Matrix001 Member

    Joined:
    18 Aug 2016
    Messages:
    188
    Likes Received:
    89
    Reputations:
    3
    Спасибо
     
  4. trolex

    trolex Well-Known Member

    Joined:
    6 Dec 2009
    Messages:
    592
    Likes Received:
    1,391
    Reputations:
    6
    сначала сделай оценочную функцию позиции, где позиция оценивалась бы числом, положительное - ситуация лучше у белых, отрицательное - у черных, для начала можно взять просто, число = количество шашек,
    потом организовать перебор вариантов, и выбирать лучший вариант минимаксом,
    для начала пойдёт, должно играть кое как, потом можно отсекать из перебора плохие варианты, совершенствовать оценочную функцию и тд.