Поведение карт (стратегия)
Поведение карты.
Предоставляет заготовленные поведения на действия для карты.
Замена для типов карт:
- NumberBehavior: Стандартное поведение всех карт Mau.
- TurnBehavior: Пропуск хода для следующего игрока.
- ReverseBehavior: Разворот порядка ходов.
- TakeBehavior: Взятие карт для следующего игрока.
- WildColorBehavior: Выбор цвета для карты.
- WildTakeBehavior: Выбор цвета и взятие карт для следующего игрока.
Особые поведения:
- TwistBehavior: Обмен картами между двумя игроками.
- RotateBehavior: Обмен картами между всеми игроками.
BaseBehavior
Bases: ABC
базовое поведение карты.
К каждой карте можно привязать поведение, которое будет определять её действия на некоторые игровые события. Например при использовании карты они может пропустить игрока, развернуть порядок ходов или увеличить счётчик взятия карт.
Определяет интерфейс поведения карты на игровые действия.
cost
class-attribute
instance-attribute
cost = 0
name
class-attribute
instance-attribute
name = 'base'
__eq__
__eq__(other: object) -> bool
Сравнивает поведения по их типу.
prepare_used
abstractmethod
Подготовка карты к повторному использованию.
Parameters:
-
card
MauCard
) –Для какой карты вызвано действие.
BaseWildBehavior
Bases: NumberBehavior
Поведение диких карт.
После возвращения в колоду их цвет возвращается к чёрному.
NumberBehavior
Bases: BaseBehavior
Базовое поведение для карт Уно.
По умолчанию записывает действия в журнал. Наследники переопределяет базовое поведение.
ReverseBehavior
Bases: NumberBehavior
Разворот порядка ходов.
RotateBehavior
Bases: NumberBehavior
Обмен картами между всеми игроками.
TakeBehavior
Bases: NumberBehavior
Взять карты для следующего игрока.
TurnBehavior
Bases: NumberBehavior
Пропуск следующего игрока.
TwistBehavior
Bases: NumberBehavior
Обмен картами с другим игроком.
WildColorBehavior
Bases: BaseWildBehavior
Карта выбора цвета.
WildTakeBehavior
Bases: BaseWildBehavior
Выбор цвета и взятие карт.
Представляет собой комбинацию из поведения взятия и выбора цвета. Использовать можно только в случаях, когда нет других карт. Иначе выставляет флаг блефа в True. Следующий игрок сможет проверить игрока на честность.
name
class-attribute
instance-attribute
name = 'wild+take'