Реализация пасьянса "Косынка" в консоли
Правила пасьянса:
Имеется колода в 52 карты (2 цвета, 4 масти по 13 карт).
В начале игры из 52 - карточной колоды раскладывается 28 карт в семь столбцов, в каждом из которых количество карт равняется номеру столбца (в первом — одна, во втором — 2 и т.д., в последнем, седьмом — 7 карт). Все карты в столбцах закрыты, и только самые верхние карты в каждом столбце кладут открытыми. Оставшуюся от первоначальной раздачи, часть колоды кладут рядом(стек) и используют в дальнейшем при сборке пасьянса.
Карту можно перекладывать на другую рангом выше, но другого цвета (чёрного или красного). Если карты в стопке на поле расположены по возрастанию, то можно перемещать несколько карт.
В каждую из четырёх базовых стопок, по которым необходимо разложить все карты, сначала кладутся тузы, затем двойки, тройки и так далее до короля. Карты можно сдавать из оставшейся от раздачи колоды (сток, находится в левом верхнем углу) по одной. В свободную ячейку (не сброс) можно положить только короля. Игра заканчивается, когда все карты разложены.
Цель игры — разложить все карты в четыре стопки (сброс) по возрастанию, начиная с туза так, чтобы карты одной масти находились в одной стопке.
Управление:
Каждая карта представляется в виде двух букв: <масть><достоинство> Для перемещения карты из любого места на поле необходимо ввести текстовое представление переносимой карты и через пробел - принимающей. Для перемещиния карты в сброс необходимо ввести её текстовое представление. Для открытия карты из стока необходимо ввести '#'.
Список мастей (с описанием цвета):
- 'H' - Черви (Hearts), красные
- 'D' - Буби (Diamonds), красные
- 'C' - Крести (Clubs), чёрные
- 'S' - Пики (Spades), чёрные
Список достоинств карт (по возрастанию):
- 'A' - Туз (Ace)
- '2'
- '3'
- '4'
- '5'
- '6'
- '7'
- '8'
- '9'
- '10'
- 'J' - Валет (Jack)
- 'Q' - Дама (Queen)
- 'K' - Король (King)