Doc comments
This commit is contained in:
parent
681185cf8f
commit
efac8fadf0
15
src/game.rs
15
src/game.rs
|
@ -1,22 +1,34 @@
|
||||||
use pancurses::Window;
|
use pancurses::Window;
|
||||||
|
|
||||||
|
/// A dungeon root.
|
||||||
pub struct Dungeon {
|
pub struct Dungeon {
|
||||||
main_branch: DungeonBranch,
|
main_branch: DungeonBranch,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// A single branch of a dungeon, which has a number of levels and
|
||||||
|
/// which can potentially contain passages to other branches.
|
||||||
pub struct DungeonBranch {
|
pub struct DungeonBranch {
|
||||||
config: BranchConfig,
|
config: BranchConfig,
|
||||||
levels: Vec<DungeonLevel>,
|
levels: Vec<DungeonLevel>,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// The parameters that characterize a particular dungeon branch.
|
||||||
|
/// Currently a unit struct because there's only one type of branch,
|
||||||
|
/// but will later include e.g. architectural styles, good vs. evil &
|
||||||
|
/// lawful vs. chaotic weights, etc.
|
||||||
pub struct BranchConfig;
|
pub struct BranchConfig;
|
||||||
|
|
||||||
|
/// The size of a dungeon level, in tiles.
|
||||||
pub const LEVEL_SIZE: (usize, usize) = (80, 24);
|
pub const LEVEL_SIZE: (usize, usize) = (80, 24);
|
||||||
|
|
||||||
|
/// A single level of the dungeon.
|
||||||
pub struct DungeonLevel {
|
pub struct DungeonLevel {
|
||||||
|
/// The tiles at every position in the level.
|
||||||
tiles: [[DungeonTile; LEVEL_SIZE.1]; LEVEL_SIZE.0],
|
tiles: [[DungeonTile; LEVEL_SIZE.1]; LEVEL_SIZE.0],
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// The smallest possible independent location in the dungeon,
|
||||||
|
/// corresponding to a single character on the screen.
|
||||||
pub enum DungeonTile {
|
pub enum DungeonTile {
|
||||||
Floor,
|
Floor,
|
||||||
Wall,
|
Wall,
|
||||||
|
@ -24,10 +36,13 @@ pub enum DungeonTile {
|
||||||
}
|
}
|
||||||
|
|
||||||
impl DungeonLevel {
|
impl DungeonLevel {
|
||||||
|
/// Creates a new level in a branch that has the given
|
||||||
|
/// configuration.
|
||||||
pub fn new(cfg: &BranchConfig) -> Self {
|
pub fn new(cfg: &BranchConfig) -> Self {
|
||||||
todo!()
|
todo!()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Draws a level on the display window.
|
||||||
pub fn draw(&self, win: &Window) {
|
pub fn draw(&self, win: &Window) {
|
||||||
todo!()
|
todo!()
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue