42 lines
1.8 KiB
Markdown
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.
|