Перейти к содержанию

Mau карта

Игровые карты Mau.

CARD_BEHAVIOR module-attribute

Python
CARD_BEHAVIOR = {
    "rotate": RotateBehavior,
    "twist": TwistBehavior,
    "number": NumberBehavior,
    "turn": TurnBehavior,
    "reverse": ReverseBehavior,
    "take": TakeBehavior,
    "wild+color": WildColorBehavior,
    "wild+take": WildTakeBehavior,
}

CARD_REGEX module-attribute

Python
CARD_REGEX = compile('(\\d)_(\\d+)_(\\d+)_([a-z+]+)')

MauCard

Python
MauCard(
    color: CardColor,
    value: int,
    cost: int,
    behavior: NumberBehavior,
)

Описание каждой карты Mau.

Предоставляет общий функционал для всех карт.

__call__ class-attribute instance-attribute

Python
__call__ = use

__slots__ class-attribute instance-attribute

Python
__slots__ = ('color', 'value', 'cost', 'behavior')

behavior instance-attribute

Python
behavior = behavior

color instance-attribute

Python
color = color

cost instance-attribute

Python
cost = cost

value instance-attribute

Python
value = value

__eq__

Python
__eq__(other: object) -> bool

Проверяет соответствие двух карт.

__lt__

Python
__lt__(other_card: object) -> bool

Проверяет что данная карта меньшей стоимости чем прочая.

__repr__

Python
__repr__() -> str

Представление карты для отладки.

can_cover

Python
can_cover(other_card: Self, wild_color: CardColor) -> bool

Проверяет что другая карта может покрыть текущую.

По правилам игры цель каждого игрока - избавить от своих карт. Чтобы избавиться от карт, нужно накрыть текущую карту с верхушки одной из своей руки. Как только карты кончатся - вы победили.

iter_covering

Python
iter_covering(
    hand: Iterable[Self], wild_color: CardColor
) -> Iterator[tuple[Self, bool]]

Проверяет какие карты вы можете покрыть из своей руки.

Используется чтобы проверить всю свою руку на наличие карт, которыми можно покрыть текущую.

Parameters:

  • hand

    (Iterable[BaseCard]) –

    Карты в вашей руке.

  • wild_color

    (CardColor) –

    какой сейчас дикий цвет.

Yields:

  • tuple[Self, bool]

    Iterator[BaseCard, bool]: Возвращает карту и можете ли вы ею покрыть текущую.

pack

Python
pack() -> str

запаковывает карту в строку.

prepare_used

Python
prepare_used(deck: Deck) -> None

Подготавливает карту к повторному использованию в колоде.

unpack classmethod

Python
unpack(card_str: str) -> Self | None

Превращает упакованную строку карты в её экземпляр.

Обратное действие для получения экземпляра карты из строки. Используется уже при обработке отправленного стикеров.

use

Python
use(game: MauGame) -> None

Выполняет активное действие карты во время её разыгрывания.