group-b/group_b/action_deck.py

61 lines
1.7 KiB
Python

from .deck import Deck, Card
class ActionDeck(Deck):
def load_cards(self):
cards = [ActionCard(name="accelerate", deck=self)] * 3
cards.extend([ActionCard(name="gun it!", deck=self)] * 2)
cards.extend([ActionCard(name="brake", deck=self)] * 5)
cards.extend([ActionCard(name="coast", deck=self)] * 2)
cards.extend([ActionCard(name="find flow", deck=self)] * 2)
return cards
class ActionCard(Card):
def __init__(self, name: str, deck: ActionDeck):
super().__init__(name, deck)
self.modifiers = ActionCard.load_modifiers(name)
@classmethod
def load_modifiers(cls, name):
if name == "accelerate":
return dict(
speed=0.5,
focus=-1,
momentum=0.25,
tire_wear=-0.25,
car_health=0,
)
elif name == "brake":
return dict(
speed=-1,
focus=0,
momentum=-1,
tire_wear=0,
car_health=0,
)
elif name == "coast":
return dict(
speed=0,
focus=1,
momentum=-0.25,
tire_wear=0,
car_health=0,
)
elif name == "gun it!":
return dict(
speed=1,
focus=-2,
momentum=0.5,
tire_wear=-0.5,
car_health=-0.05,
)
elif name == "find flow":
return dict(
speed=0,
focus=4,
momentum=0,
tire_wear=-0.5,
car_health=-0.05,
)