scoundrel/card.py
2025-05-13 13:55:07 -04:00

38 lines
1.2 KiB
Python

from colorama import Fore, Back, Style
class Card:
def __init__(self, value, suit):
self.value = value
self.suit = suit
self.selected = False
self.suit_map = {
0: '',
1: '',
2: '',
3: ''
}
self.value_map = {
1: 'A',
11: 'J',
12: 'Q',
13: 'K'
}
def display_card(self):
return f"{Back.WHITE}{Fore.RED if self.suit in [1,3] else Fore.BLUE}{self.value_map.get(self.value, self.value)}{self.suit_map[self.suit]} {Style.RESET_ALL}"
def __repr__(self):
s = Back.WHITE if not self.selected else Back.GREEN
return f"{s}{Fore.RED if self.suit in [1,3] else Fore.BLUE}{self.value_map.get(self.value, self.value)}{self.suit_map[self.suit]} {Style.RESET_ALL}"
def help_text(self, weapon=None):
if self.suit in [0, 2]:
return f'Attack {self.display_card()} {"barehanded?" if not weapon else "with {}? [b]".format(weapon)}'
elif self.suit == 1:
return f"Use {self.display_card()} as a health potion?"
elif self.suit == 3:
return f"Equip {self.display_card()} as a weapon?"