Files
pokemon-battle-engine/include/README.md
2025-08-13 23:27:08 +00:00

42 lines
1.8 KiB
Markdown

# Include Directory (`include/`)
This directory contains all C++ header files (.h/.hpp) for the Pokemon battle simulator.
## Planned Structure
```
include/
├── pokemon_sim/ # Main namespace headers
│ ├── core/ # Core battle system headers
│ │ ├── battle.h # Battle class and enums
│ │ ├── pokemon.h # Pokemon class definition
│ │ ├── move.h # Move system headers
│ │ ├── type.h # Type system and effectiveness
│ │ └── status.h # Status effects
│ ├── data/ # Data management headers
│ │ ├── pokemon_data.h # Pokemon species data
│ │ ├── move_data.h # Move definitions
│ │ └── loader.h # Data loading interface
│ ├── ai/ # AI system headers
│ │ ├── ai_base.h # Base AI interface
│ │ ├── random_ai.h # Random AI strategy
│ │ └── minimax_ai.h # Minimax AI strategy
│ ├── utils/ # Utility headers
│ │ ├── random.h # Random utilities
│ │ ├── stats.h # Stat calculation helpers
│ │ └── constants.h # Game constants
│ └── pokemon_sim.h # Main include file
```
## Header Guidelines
- **Include Guards**: Use `#pragma once` for all headers
- **Forward Declarations**: Minimize #include dependencies
- **Const Correctness**: Mark methods const where appropriate
- **Documentation**: Doxygen-style comments for public APIs
- **Namespace**: All code in `pokemon_sim` namespace
## Public API
The main `pokemon_sim.h` header provides a clean public interface for library users, hiding implementation details while exposing necessary functionality for battle simulation.