Draft 01/28/2024
Draft of the code from date described above.
This commit is contained in:
@@ -4,8 +4,10 @@ extern crate sdl2;
|
||||
mod caster;
|
||||
use caster::Caster;
|
||||
|
||||
use sdl2::event::Event;
|
||||
use sdl2::keyboard::Keycode;
|
||||
mod game_state;
|
||||
use game_state::GameState;
|
||||
|
||||
mod event_handler;
|
||||
|
||||
use std::error::Error;
|
||||
use std::time::Duration;
|
||||
@@ -13,27 +15,23 @@ use std::time::Duration;
|
||||
pub fn run() -> Result<(), Box<dyn Error>> {
|
||||
let sdl_context = sdl2::init()?;
|
||||
let video_subsystem = sdl_context.video()?;
|
||||
|
||||
let mut caster = Caster::init(&video_subsystem, "Vash Caster", 800, 600)?;
|
||||
|
||||
let mut event_pump = sdl_context.event_pump()?;
|
||||
|
||||
'running: loop {
|
||||
for event in event_pump.poll_iter() {
|
||||
match event {
|
||||
Event::Quit { .. }
|
||||
| Event::KeyDown {
|
||||
keycode: Some(Keycode::Escape),
|
||||
..
|
||||
} => break 'running,
|
||||
_ => {}
|
||||
}
|
||||
}
|
||||
let mut gamestate = GameState::init();
|
||||
let mut caster = Caster::init(video_subsystem, "Vash Caster", 800, 600)?;
|
||||
|
||||
caster.update()?;
|
||||
while gamestate.running() {
|
||||
event_handler::process_events(&mut event_pump, &mut gamestate);
|
||||
gamestate.update();
|
||||
caster.update(&gamestate)?;
|
||||
|
||||
::std::thread::sleep(Duration::new(0, 1_000_000_000u32 / 144));
|
||||
}
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
struct Point {
|
||||
x: i16,
|
||||
y: i16,
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user