Draft 01/28/2024

Draft of the code from date described above.
This commit is contained in:
2024-01-28 10:00:22 -05:00
parent 44db7751e9
commit 57b6071008
4 changed files with 142 additions and 78 deletions

View File

@@ -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,
}