use clap::Parser; use dungeon::*; use graphics::*; #[derive(Parser)] struct Args { /// Enable vsync #[arg(long)] vsync: bool, // Enable verbose logging #[arg(short, long)] verbose: bool, } fn main() -> Result<()> { // Parse arguments let args = Args::parse(); // Load the window let mut window = WindowBuilder::new() .vsync(args.vsync) .verbose(args.verbose) .build()?; // Initial game state let mut dungeon = Dungeon::new(); // Main game loop while window.is_open() { // TODO update game state // Handle keyboard input if window.is_key_pressed(KeyCode::KEY_F3) { window.toggle_debug(); } for enemy in dungeon.enemies.iter_mut() { enemy.handle_movement( dungeon.player.entity.pos, &mut dungeon.floor, window.delta_time(), ); } // Draw a single frame window.draw_frame(&dungeon); } Ok(()) }