Compare commits

..

3 commits

Author SHA1 Message Date
Alex Bethel 6b6a6720ce Rename game.rs -> level.rs 2022-01-10 19:33:45 -06:00
Alex Bethel fee36f158b Tear out dungeon branch infrastructure
It's all unused at the moment, and I'll probably re-build it entirely
differently later.
2022-01-10 19:32:43 -06:00
Alex Bethel 97a78c8bb1 Formatting 2022-01-10 19:31:53 -06:00
4 changed files with 10 additions and 29 deletions

View file

@ -4,24 +4,6 @@ use pancurses::Window;
use crate::rooms; use crate::rooms;
/// A dungeon root.
pub struct Dungeon {
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 {
config: BranchConfig,
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;
/// The size of a dungeon level, in tiles. /// The size of a dungeon level, in tiles.
pub const LEVEL_SIZE: (usize, usize) = (80, 24); pub const LEVEL_SIZE: (usize, usize) = (80, 24);
@ -51,10 +33,7 @@ pub enum DungeonTile {
impl DungeonLevel { impl DungeonLevel {
/// Creates a new level in a branch that has the given /// Creates a new level in a branch that has the given
/// configuration. /// configuration.
pub fn new(_cfg: &BranchConfig) -> Self { pub fn new() -> Self {
// Self {
// tiles: rooms::generate_level(100, &mut rand::thread_rng()),
// }
rooms::generate_level(100, &mut rand::thread_rng(), 1, 1) rooms::generate_level(100, &mut rand::thread_rng(), 1, 1)
} }

View file

@ -1,7 +1,7 @@
use std::process::exit; use std::process::exit;
use components::{register_all, CharRender, MobAction, Mobile, Player, Position, TurnTaker}; use components::{register_all, CharRender, MobAction, Mobile, Player, Position, TurnTaker};
use game::{BranchConfig, DungeonLevel}; use level::DungeonLevel;
use pancurses::{endwin, initscr, noecho, Window}; use pancurses::{endwin, initscr, noecho, Window};
use player::player_turn; use player::player_turn;
@ -9,7 +9,7 @@ use specs::prelude::*;
use systems::{MobSystem, TimeSystem}; use systems::{MobSystem, TimeSystem};
mod components; mod components;
mod game; mod level;
mod player; mod player;
mod rooms; mod rooms;
mod systems; mod systems;
@ -20,15 +20,17 @@ fn main() {
register_all(&mut world); register_all(&mut world);
let cfg = BranchConfig; let level = DungeonLevel::new();
let level = DungeonLevel::new(&cfg);
let spawn_pos = level.upstairs()[0]; let spawn_pos = level.upstairs()[0];
world.insert(level); world.insert(level);
world world
.create_entity() .create_entity()
.with(Position { x: spawn_pos.0, y: spawn_pos.1 }) .with(Position {
x: spawn_pos.0,
y: spawn_pos.1,
})
.with(CharRender { glyph: '@' }) .with(CharRender { glyph: '@' })
.with(Player) .with(Player)
.with(Mobile { .with(Mobile {

View file

@ -5,7 +5,7 @@ use specs::prelude::*;
use crate::{ use crate::{
components::{CharRender, MobAction, Mobile, Player, Position}, components::{CharRender, MobAction, Mobile, Player, Position},
game::{DungeonLevel, DungeonTile}, level::{DungeonLevel, DungeonTile},
quit, quit,
}; };

View file

@ -20,7 +20,7 @@ use pathfinding::directed::astar::astar;
use rand::Rng; use rand::Rng;
use crate::{ use crate::{
game::{DungeonLevel, DungeonTile, LEVEL_SIZE}, level::{DungeonLevel, DungeonTile, LEVEL_SIZE},
util::NiceFloat, util::NiceFloat,
}; };