Mau карта
Игровые карты Mau.
CARD_BEHAVIOR
module-attribute
CARD_BEHAVIOR = {
"rotate": RotateBehavior,
"twist": TwistBehavior,
"number": NumberBehavior,
"turn": TurnBehavior,
"reverse": ReverseBehavior,
"take": TakeBehavior,
"wild+color": WildColorBehavior,
"wild+take": WildTakeBehavior,
}
CARD_REGEX
module-attribute
CARD_REGEX = compile('(\\d)_(\\d+)_(\\d+)_([a-z+]+)')
MauCard
MauCard(
color: CardColor,
value: int,
cost: int,
behavior: NumberBehavior,
)
Описание каждой карты Mau.
Предоставляет общий функционал для всех карт.
__slots__
class-attribute
instance-attribute
__slots__ = ('color', 'value', 'cost', 'behavior')
behavior
instance-attribute
behavior = behavior
color
instance-attribute
color = color
cost
instance-attribute
cost = cost
value
instance-attribute
value = value
__eq__
__eq__(other: object) -> bool
Проверяет соответствие двух карт.
__lt__
__lt__(other_card: object) -> bool
Проверяет что данная карта меньшей стоимости чем прочая.
__repr__
__repr__() -> str
Представление карты для отладки.
can_cover
can_cover(other_card: Self, wild_color: CardColor) -> bool
Проверяет что другая карта может покрыть текущую.
По правилам игры цель каждого игрока - избавить от своих карт. Чтобы избавиться от карт, нужно накрыть текущую карту с верхушки одной из своей руки. Как только карты кончатся - вы победили.
iter_covering
iter_covering(
hand: Iterable[Self], wild_color: CardColor
) -> Iterator[tuple[Self, bool]]
Проверяет какие карты вы можете покрыть из своей руки.
Используется чтобы проверить всю свою руку на наличие карт, которыми можно покрыть текущую.
Parameters:
-
(handIterable[BaseCard]) –Карты в вашей руке.
-
(wild_colorCardColor) –какой сейчас дикий цвет.
Yields:
-
tuple[Self, bool]–Iterator[BaseCard, bool]: Возвращает карту и можете ли вы ею покрыть текущую.
pack
pack() -> str
запаковывает карту в строку.
prepare_used
prepare_used(deck: Deck) -> None
Подготавливает карту к повторному использованию в колоде.
unpack
classmethod
unpack(card_str: str) -> Self | None
Превращает упакованную строку карты в её экземпляр.
Обратное действие для получения экземпляра карты из строки. Используется уже при обработке отправленного стикеров.