- Create core module structure with models and effects subdirectories - Add enums module with CardType, EnergyType, TurnPhase, StatusCondition, etc. - Add RulesConfig with Mantimon TCG defaults (40-card deck, 4 points to win) - Add RandomProvider protocol with SeededRandom (testing) and SecureRandom (production) - Include comprehensive tests for all modules (97 tests passing) Defaults reflect GAME_RULES.md: Pokemon Pocket-style energy deck, first turn can attack but not attach energy, 30-turn limit enabled.
18 lines
775 B
Python
18 lines
775 B
Python
"""Mantimon TCG - Core Game Engine.
|
|
|
|
This module contains the core game engine for Mantimon TCG, a highly configurable
|
|
Pokemon TCG-inspired card game. The engine supports both campaign mode with fixed
|
|
rules and free play mode with user-configurable rules.
|
|
|
|
Key Components:
|
|
- config: RulesConfig and sub-configs for all game rules
|
|
- models: Data models for cards, game state, and actions
|
|
- effects: Effect handler system for card abilities and attacks
|
|
- engine: Main GameEngine orchestrator
|
|
- turn_manager: Turn/phase state machine
|
|
- rules_validator: Action legality checking
|
|
- win_conditions: Win/loss detection
|
|
- visibility: Hidden information filtering for clients
|
|
- rng: Random number generation with testable seeded implementation
|
|
"""
|