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

Перечисления

Общие перечисления.

Перечисления представлены в одном место для большего удобства. А также для решения проблемы циклического импорта.

COLOR_EMOJI module-attribute

COLOR_EMOJI = ['❤️', '🧡', '💛', '💚', '🩵', '💙', '🖤', '🩷']

CardColor

Bases: IntEnum

Цвета карты.

У каждой карты есть свой цвет. Возможные варианты: RED, YELLOW, GREEN, BLUE, BLACK. Чёрный цвет используется для диких карт. Во время использования такой карты пользователю будет предложено выбрать один из доступных цветов, кроме чёрного.

BLACK class-attribute instance-attribute

BLACK = 6

BLUE class-attribute instance-attribute

BLUE = 5

CREAM class-attribute instance-attribute

CREAM = 7

CYAN class-attribute instance-attribute

CYAN = 4

GREEN class-attribute instance-attribute

GREEN = 3

ORANGE class-attribute instance-attribute

ORANGE = 1

RED class-attribute instance-attribute

RED = 0

YELLOW class-attribute instance-attribute

YELLOW = 2

emoji property

emoji: str

Преобразует цвет карты в соответствующий emoji.

GameEvents

Bases: IntEnum

Типы игровых событий.

Когда происходит некоторое действие в игре, вызывается событие. События могут сопровождаться строкой с полезной информацией. Для обработки игровых события воспользуйтесь классом EventHandler.

Игровая сессия:

  • session_start: Создана новая комната.
  • session_end: Сессия в комнате завершена.

Игра:

  • game_start: Началась новая игра.
  • game_end: Завершилась игра.
  • game_join: Игрок присоединился к игре.
  • game_leave: Игрок вышел, проиграл, выиграл, был исключён, застрелился.
  • game_select_color: Выбор нового цвета для карты.
  • game_select_player: Выбор игрока для обмена картами.
  • game_turn: Завершение текущего и начало следующего хода.
  • game_rotate: Обмен картами между всеми игроками.
  • game_state: Обновление игрового состояния.

Игрок:

  • player_mau: Когда у игрока остаётся только одна карта.
  • player_bluff: Проверка на честность предыдущего игрока.
  • player_take: Взятие карт из колоды, также вместо револьвера.
  • player_push: Игрок использует карту.
  • player_intervened: Игрок вмешался в ход другого игрока.

GAME_END class-attribute instance-attribute

GAME_END = 21

GAME_JOIN class-attribute instance-attribute

GAME_JOIN = 22

GAME_LEAVE class-attribute instance-attribute

GAME_LEAVE = 23

GAME_ROTATE class-attribute instance-attribute

GAME_ROTATE = 27

GAME_SELECT_COLOR class-attribute instance-attribute

GAME_SELECT_COLOR = 24

GAME_SELECT_PLAYER class-attribute instance-attribute

GAME_SELECT_PLAYER = 25

GAME_START class-attribute instance-attribute

GAME_START = 20

GAME_STATE class-attribute instance-attribute

GAME_STATE = 28

GAME_TURN class-attribute instance-attribute

GAME_TURN = 26

PLAYER_BLUFF class-attribute instance-attribute

PLAYER_BLUFF = 31

PLAYER_INTERVENED class-attribute instance-attribute

PLAYER_INTERVENED = 34

PLAYER_MAU class-attribute instance-attribute

PLAYER_MAU = 30

PLAYER_PUSH class-attribute instance-attribute

PLAYER_PUSH = 33

PLAYER_TAKE class-attribute instance-attribute

PLAYER_TAKE = 32

SESSION_END class-attribute instance-attribute

SESSION_END = 11

SESSION_START class-attribute instance-attribute

SESSION_START = 10

GameState

Bases: IntEnum

Игровые состояния.

В каждый момент времени игра находится в некотором состоянии. В зависимости от этого состояние изменяется поведение игры. Отслеживать состояния можно при помощи событий. Состояние игры сбрасывается на каждом ходе.

  • NEXT: После использования карты игроком ход передаётся дальше.
  • TAKE: Игрок брал карту в этом ходу.
  • CHOOSE_COLOR: Выбирается цвет для карты. После завершается ход.
  • TWIST_HAND: Выбирается с кем обменяться картами.
  • SHOTGUN: Состояние револьвера. Стрелять или брать карты.
  • CONTINUE: Ход продолжается до ручного завершения.

CHOOSE_COLOR class-attribute instance-attribute

CHOOSE_COLOR = 2

CONTINUE class-attribute instance-attribute

CONTINUE = 5

NEXT class-attribute instance-attribute

NEXT = 0

SHOTGUN class-attribute instance-attribute

SHOTGUN = 4

TAKE class-attribute instance-attribute

TAKE = 1

TWIST_HAND class-attribute instance-attribute

TWIST_HAND = 3