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

Менеджер игроков

Менеджер игроков в рамках одной игры.

PlayerManager

Python
PlayerManager(storage: BaseStorage)

Менеджер игроков.

Позволяет взаимодействовать с игроками в рамках одной игры.

__slots__ class-attribute instance-attribute

Python
__slots__ = (
    "_storage",
    "_players",
    "winners",
    "losers",
    "_cp",
    "player_cost",
)

current property

Python
current: Player

Получает текущего игрока.

losers instance-attribute

Python
losers: list[str] = []

player_cost instance-attribute

Python
player_cost: dict[str, int] = {}

winners instance-attribute

Python
winners: list[str] = []

__len__

Python
__len__() -> int

Возвращает количество игроков в игре.

add

Python
add(player: Player) -> None

Добавляет игрока в хранилище.

add_loser

Python
add_loser(user_id: str) -> None

Добавляет игрока в список проигравших.

add_winner

Python
add_winner(user_id: str) -> None

Добавляет игрока в список победителей.

end

Python
end() -> None

Подготавливает список игроков к завершению игры.

get

Python
get(user_id: str) -> Player

Возвращает игрока из хранилища по его ID.

get_or_none

Python
get_or_none(user_id: str) -> Player | None

Возвращает игрока из хранилища по его ID.

iter

Python
iter(
    players: Iterable[str] | None = None,
) -> Iterator[Player]

Проходится по всему списку игроков.

iter_others

Python
iter_others() -> Iterator[tuple[int, Player]]

Возвращает индекс и ID всех игроков, кроме текущего.

next

Python
next(n: int = 1, reverse: bool = False) -> None

Перемещает курсор игрока дальше.

remove

Python
remove(user_id: str) -> None

Удаляет игрока из хранилища.

remove_players

Python
remove_players() -> None

Удаляет всех игроков из хранилища, связанных с текущей игрой.

rotate_cards

Python
rotate_cards(reverse: bool = False) -> None

Меняет карты в руках для всех игроков.

set_cp

Python
set_cp(player: Player) -> None

Устанавливает курсор текущего игрока на переданного.

start

Python
start() -> None

Подготавливает игроков к началу новой игры.