Исходник программы, показывающей пример создания игры в шашки, позволяющей человеку играть против человека с помощью мыши для перетаскивания шашек на допустимые квадраты.
В этой реализации перемещение осуществляется путем перетаскивания шашки в допустимое свободное место. Текстовый лейбл над доской указывает, чей сейчас ход и возможно ли перемещение. Многократные прыжки выполняются как серия одиночных прыжков.
Одно недавнее добавление, которое было полезно для отладки программы и могло также пригодиться игрокам, - это функция «Отменить». Нажатие клавиши U на клавиатуре в любой момент до окончания игры отменит последний ход. Многократное нажатие на кнопку отменяет ходы в обратном порядке, при желании возвращаясь в исходное положение.
Краткое изложение правил для шашек:
- Фигуры перемещаются по диагонали; вверх для черных, вниз для красных фигур (на данной доске).
- Игроки ходят по очереди, черные ходят первыми.
- Фишки съедаются прыжком, перемещаясь по диагонали над соседней фишкой противоположного цвета соседнему пустому квадрату. Если у прыгающей фигуры есть другой доступный прыжок, ход продолжается, и этот прыжок необходимо совершить.
- Если в начале хода доступно более одного прыжка, можно сделать любой из них.
- Когда шашка достигает противоположной стороны доски, она становится «королем» и может двигаться или прыгать по диагонали в любом направлении.
- Игра заканчивается, когда одна из сторон захватывает все фигуры или его противник оказывается в ловушке, и у него нет возможности сделать ход.
В более ранней демонстрации игровой доски игра Реверси реализовывалась с использованием трех различных техник, но в этой игре требовалось только щелкнуть пустую ячейку, чтобы сделать ход. Для шашек нам нужно разрешить игроку выбрать фишку и перетащить ее в другое допустимое место. Был выбран TStringlControl для поля и потомки TShape (называемых TPiece) для рисования шашек. С помощью перетаскивания можно перемещать и опускать шашки в допустимые ячейки назначения.