mirror of
https://github.com/DavidGailleton/42-Piscine_Python.git
synced 2026-03-14 05:06:55 +01:00
33 lines
1.0 KiB
Python
33 lines
1.0 KiB
Python
def main():
|
|
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")
|
|
)
|
|
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()
|