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

Mau карта

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

CARD_BEHAVIOR module-attribute

CARD_BEHAVIOR = {'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: CardColor = color

cost instance-attribute

cost: int = cost

value instance-attribute

value: int = value

__call__

__call__(game: MauGame) -> None

Синтаксический сахар для вызова действия карты.

Позволяет использовать способность этой карты. Является сокращением для метода use_card.

__eq__

__eq__(other: object) -> bool

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

__lt__

__lt__(other_card: object) -> bool

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

__repr__

__repr__() -> str

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

can_cover

can_cover(other_card: Self) -> bool

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

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

iter_covering

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

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

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

Parameters:

  • hand

    (Iterable[BaseCard]) –

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

Yields:

  • tuple[Self, bool]

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

pack

pack() -> str

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

prepare_used

prepare_used() -> None

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

unpack classmethod

unpack(card_str: str) -> Self | None

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

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

use

use(game: MauGame) -> None

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