def main() -> None: from .CreatureCard import CreatureCard game_state = {"player": "michel", "mana": 6} print("=== DataDeck Card Foundation ===\n") print("Testing Abstract Base Class Design:\n") creature_card = CreatureCard("Fire Dragon", 5, "Legendary", 7, 5) print(f"CreatureCard info:\n{creature_card.get_card_info()}") print("\nPlaying Fire Dragon with 6 mana available:") playable = creature_card.is_playable(game_state["mana"]) print(f"Playable: {playable}") if playable: print(f"Play result: {creature_card.play(game_state)}") print("\nFire Dragon attacks Goblin Warrior:") print(f"Attack result: {creature_card.attack_target('Goblin Warrior')}") print("\nTesting insufficient mana (3 available):") print(f"Playable: {creature_card.is_playable(3)}") print("\nAbstract pattern successfully demonstrated!") if __name__ == "__main__": main()