54 lines
1.7 KiB
Rust
54 lines
1.7 KiB
Rust
use controls::InputState;
|
|
use player::Player;
|
|
|
|
mod controls;
|
|
mod player;
|
|
fn main() {
|
|
use raylib::prelude::*;
|
|
let (mut rl, thread) = raylib::init().size(640, 480).title("My peanits").build();
|
|
let mut player: Player = Player::default();
|
|
|
|
while !rl.window_should_close() {
|
|
rl.set_target_fps(69);
|
|
// Player movement
|
|
if rl.is_key_down(KeyboardKey::KEY_RIGHT) {
|
|
player.handle_input(&InputState::new(true, false, false, false));
|
|
println!("LEFT");
|
|
} else if rl.is_key_down(KeyboardKey::KEY_LEFT) {
|
|
player.handle_input(&InputState::new(false, true, false, false));
|
|
} else if rl.is_key_down(KeyboardKey::KEY_DOWN) {
|
|
player.handle_input(&InputState::new(false, false, true, false));
|
|
} else if rl.is_key_down(KeyboardKey::KEY_SPACE) {
|
|
player.handle_jump(&InputState::new(false, false, false, true));
|
|
}
|
|
let mut d = rl.begin_drawing(&thread);
|
|
d.clear_background(Color::WHITE);
|
|
d.draw_text("MY BIG PEANITS", 12, 12, 20, Color::BLACK);
|
|
d.draw_rectangle(
|
|
player.position.x as i32,
|
|
player.position.y as i32,
|
|
100,
|
|
200,
|
|
Color::RED,
|
|
);
|
|
d.draw_circle(
|
|
(player.position.x + 50.0) as i32,
|
|
player.position.y as i32,
|
|
50.0,
|
|
Color::RED,
|
|
);
|
|
d.draw_circle(
|
|
(player.position.x + 100.0) as i32,
|
|
(player.position.y + 210.0) as i32,
|
|
50.0,
|
|
Color::RED,
|
|
);
|
|
d.draw_circle(
|
|
(player.position.x + 15.0) as i32,
|
|
(player.position.y + 210.0) as i32,
|
|
50.0,
|
|
Color::RED,
|
|
);
|
|
}
|
|
}
|