Es 03 Rogue Game

- init of structures
- not done
- tests not done
This commit is contained in:
2024-04-30 19:09:54 +02:00
parent 03ccf0e733
commit a5a6045ee3
8 changed files with 429 additions and 0 deletions

35
src/es03_game/config.rs Normal file
View File

@@ -0,0 +1,35 @@
use super::cell::{self, Effect};
use serde::{Deserialize, Serialize};
/**
* Struttura Config usata per definire il gioco, ha alcune cose utili
* TODO sarebbe bello poterle prendere da file.
*/
#[derive(Clone, Deserialize, Serialize)]
pub struct Config {
pub game_seed: u64,
pub floor_size_range: (usize, usize),
pub effects: Vec<ConfigEffect>,
pub effects_total: usize,
}
#[derive(Clone, Copy, Deserialize, Serialize)]
pub struct ConfigEffect {
pub effect: Effect,
pub first_floor: usize,
pub last_floor: usize,
pub priority: usize,
}
impl Default for Config {
fn default() -> Self {
Self {
game_seed: 0,
floor_size_range: (20, 30),
effects: vec![ConfigEffect { effect: cell::POISON, first_floor: 0, last_floor: 255, priority: 1 }],
effects_total: 45,
}
}
}