Консольный расклад по системе Мидичи
Project description
Midich
Консольная утилита для расклада карт по системе Мидичи. Позволяет наблюдать пошаговую визуализацию процесса, а также управлять цветами мастей и скоростью выполнения.
Установка
Установите напрямую из PyPI:
pip install cat-midich
Или локально из исходников:
git clone https://github.com/LazzyCatto/midichi
cd midich
pip install .
Использование
midich [опции]
Доступные флаги:
| Флаг | Описание | По умолчанию |
|---|---|---|
--guided |
Показ пошаговой визуализации | False |
--sleep |
Задержка между шагами (в секундах) | 0.1 |
--add-color |
Цвет новой карты | green |
--diamond-color |
Цвет масти ♦ | red |
--hearts-color |
Цвет масти ♥ | red |
--clubs-color |
Цвет масти ♣ | white |
--spades-color |
Цвет масти ♠ | white |
Пример:
midich --guided --sleep 0.2 --add-color yellow --diamond-color cyan --spades-color blue
Классы
CardSuit
enum с возможными мастями карт
CardSuit.DIAMOND- буби ♦CardSuit.HEARTS- черви ♥CardSuit.SPADES- трефы ♣CardSuit.CLUBS- пики ♠
__str__ и __repr__ возвращают unicode символ мастей (♦, ♥, ♣, ♠)
CardValue
enum с возможными значениями карт
CardValue.SIX- "6"CardValue.SEVEN- "7"CardValue.EIGHT- "8"CardValue.NINE- "9"CardValue.TEN- "10"CardValue.JACK- "J"CardValue.QUEEN- "Q"CardValue.KING- "K"CardValue.ACE- "A"
__str__ и __repr__ возвращают символьное описание значения ("6", "7", "8", "9", "10", "J", "Q", "K", "A")
@classmethod from_str(cls, new_value: str) -> "CardValue" - возвращает CardValue из строки. В случае попытки создать CardValue из некорректного состояния - бросает исключение InvalidCardValue
Card
Класс карты. Содержит поля
suit: CardSuitvalue: CardValue
@property rank(self) -> int - возвращает числиное значение веса карты. Для всех числовых крат - значение сохранится, а все буквенные карты перейдут в соответствующие числа
- "J" -> 11
- "Q" -> 12
- "K" -> 13
- "A" -> 1
Deck
Класс колоды. Изначально создается неперемешанная колода. Содержит поля
-
cards: list[Card]- список карт -
shuffle() -> None- перемешивает колоду -
pop() -> Card- достает первую карту из колоды (в случае попытки достать карту из пустой колоды - бросает исключениеEmptyDeckAccess)
__str__ и __repr__ выписывают все карты подряд через пробел
__bool__ - проверяет колоду на наличие карт
Методы
расклад
midich(guided: bool = False, **kwargs) -> list[Card] - симуляция расклада с новой колодой
guided- еслиTrueбудет печатать подробный расклад, еслиFalse- только выдаст результатkwargs:sleep_time- (необходимо, еслиguided=True) время ожидения между инструкциямиsuit_colors- (необходимо, еслиguided=True) словарь с цветами мастейadd_color- (необходимо, еслиguided=True) цвет последней добавленной карты В случае, есои не все необходимые параметры заданы - бросает исключениеGuidedMissingParameters
utils
colored_card(card: Card, suit_colors: dict[str, str], attrs) -> str - генерация цветного текста карты
card- картаsuit_colors- словарь с цветами мастейattrs- дополнительные тпараметры дляtermcolor.colored
print_table(cards, sleep_time: float, suit_colors: dict[str, str], highlight_indices: tuple[int]=(), **kwargs) -> None - генерация цветного текста списка карт
cards- список картsleep_time- время ожидания после написания картsuit_colors- словарь с цветами мастейhighlight_indices- индексы карт, которые будут подчеркнуты**kwargs- дополнительные параметрыadd_color: str- цвет последней карты
В планах
- Генерация аналитики расклада с помощью лёгкой языковой модели (например, GPT-2)
- Возможность загрузки собственной колоды
Автор
Akio
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cat_midich-0.1.2-py3-none-any.whl.
File metadata
- Download URL: cat_midich-0.1.2-py3-none-any.whl
- Upload date:
- Size: 8.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.16
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5860809a8e6d9861b4c2b2ef92ac22fa4691422e854516aba930a60c8aa2c556
|
|
| MD5 |
0c0ae1e2ca49a7a93cfcec058d4dcb39
|
|
| BLAKE2b-256 |
185ce6b3d3967c6f76acb080bc229892a3651f871cc1cff4ea4d17f65a9c2a2d
|