mod game;
mod magic;
mod messages;
mod movement;
mod shoot;
mod things;
use crate::interaction::is_it_yes;
use crate::map::generate_map;
use crate::Args;
use anyhow::Result;
use game::play;
use things::initialize_things_in_cave;
pub use things::Things;
pub fn game_loop(conf: &Args) -> Result<()> {
let mut wumpus_map = generate_map(conf);
loop {
let things = initialize_things_in_cave(&wumpus_map, conf)?;
play(&wumpus_map, conf, things)?;
if !is_it_yes("\nCare to play another game? (y-n) ") {
return Ok(());
}
if !is_it_yes("In the same cave? (y-n) ") {
wumpus_map = generate_map(conf);
}
}
}