Files
42-Piscine_Python/07/ex1/main.py
2026-03-05 15:21:29 +01:00

33 lines
1.0 KiB
Python

def main() -> None:
from .Deck import Deck
from .SpellCard import SpellCard
from .ArtifactCard import ArtifactCard
from ex0 import CreatureCard
print("=== DataDeck Deck Builder ===\n")
deck = Deck()
print("Building deck with different card types...")
deck.add_card(
SpellCard("Lightning Bolt", 5, "Common", "Deal 3 dammage to target", 5)
)
deck.add_card(
ArtifactCard(
"Mana Crystal", 7, "Medium", 1, "Permanent: +1 mana per turn"
)
)
deck.add_card(CreatureCard("Fire dragon", 10, "Rare", 15, 20))
print(f"Deck stats: {deck.get_deck_stats()}")
print("\nDrawing and playing cards:\n")
for _ in range(deck.get_deck_stats()["total_card"]):
try:
card = deck.draw_card()
print(f"Drew: {card.name} ({card.__class__.__name__})")
print(f"{card.play({'mana': 5})}\n")
except Exception as err:
print(err)
print("Polymorphism in action: Same interface, different card behaviors!")
if __name__ == "__main__":
main()