Source Directory (src/)
This directory contains all C++ source files (.cpp) for the Pokemon battle simulator.
Planned Structure
src/
├── core/ # Core battle engine
│ ├── battle.cpp # Main battle logic
│ ├── pokemon.cpp # Pokemon class implementation
│ ├── move.cpp # Move system
│ └── type.cpp # Type effectiveness
├── data/ # Data loading and management
│ ├── loader.cpp # Data file loading
│ └── validator.cpp # Data validation
├── ai/ # AI battle strategies
│ ├── random_ai.cpp # Random move selection
│ └── minimax_ai.cpp # Minimax algorithm
├── utils/ # Utility functions
│ ├── random.cpp # Random number generation
│ └── stats.cpp # Stat calculations
└── main.cpp # Entry point (if building executable)
Design Principles
- Performance First: Optimized for speed and memory efficiency
- Modular Design: Clear separation of concerns
- Data-Driven: Pokemon data loaded from external files
- Testable: Each component designed for unit testing
Key Components
- Battle Engine: Core simulation logic
- Pokemon System: Stats, types, moves, status effects
- AI Framework: Pluggable AI strategies
- Data Management: Efficient loading and caching