cabel-movement #3

Merged
Glaeder merged 6 commits from cabel-movement into main 2024-07-06 17:59:56 +00:00
7 changed files with 21 additions and 21 deletions
Showing only changes of commit 901d457f81 - Show all commits

2
.gitignore vendored
View file

@ -1,3 +1,3 @@
/target
shell.nix
*.nix
.vscode/

View file

@ -3,7 +3,7 @@ use comfy::*;
#[derive(Debug)]
pub struct Grid {
pub nodes: Vec<Vec2>,
pub connections: Vec<(usize, usize)>,
pub connections: Vec<(usize, usize)>
}
impl Default for Grid {
@ -22,7 +22,7 @@ impl Grid {
vec2(-10.0, 0.0),
vec2(10.0, 10.0),
],
connections: vec![(0, 1), (1, 2), (1, 3), (0, 4), (0, 5), (5, 1), (6, 7)],
connections: vec![(0, 1), (1, 2), (1, 3), (0, 4), (0, 5), (5, 1), (6, 7)]
};
grid.sanitize();

View file

@ -7,7 +7,7 @@ use player::Player;
#[derive(Debug, Default)]
pub struct HouseState {
grid: Grid,
player: Player,
player: Player
}
pub fn draw(state: &crate::State, _engine: &comfy::EngineContext) {

View file

@ -7,7 +7,7 @@ pub struct Player {
position: Vec2,
speed: f32,
connection: usize,
next_connections: Vec<usize>,
next_connections: Vec<usize>
}
impl Default for Player {
@ -16,7 +16,7 @@ impl Default for Player {
position: Default::default(),
speed: 10.0,
connection: 0,
next_connections: vec![1, 2, 3],
next_connections: vec![1, 2, 3]
}
}
}
@ -40,7 +40,7 @@ fn move_player(player: &mut Player, allowed_movement: (bool, bool, bool, bool))
allow_up_movement,
allow_down_movement,
allow_left_movement,
allow_right_movement,
allow_right_movement
) = allowed_movement;
if allow_up_movement && is_key_down(KeyCode::Up) {
@ -77,7 +77,7 @@ fn get_allowed_movement(player: &Player, grid: &Grid) -> (bool, bool, bool, bool
mut allow_up_movement,
mut allow_down_movement,
mut allow_left_movement,
mut allow_right_movement,
mut allow_right_movement
) = get_allowed_connection_movement(&player.position, node_1, node_2);
for conn in &player.next_connections {
@ -89,26 +89,26 @@ fn get_allowed_movement(player: &Player, grid: &Grid) -> (bool, bool, bool, bool
next_allow_up_movement,
next_allow_down_movement,
next_allow_left_movement,
next_allow_right_movement,
next_allow_right_movement
) = get_allowed_connection_movement(&player.position, next_node_1, next_node_2);
(
allow_up_movement,
allow_down_movement,
allow_left_movement,
allow_right_movement,
allow_right_movement
) = (
allow_up_movement || next_allow_up_movement,
allow_down_movement || next_allow_down_movement,
allow_left_movement || next_allow_left_movement,
allow_right_movement || next_allow_right_movement,
allow_right_movement || next_allow_right_movement
);
}
(
allow_up_movement,
allow_down_movement,
allow_left_movement,
allow_right_movement,
allow_right_movement
)
}
}
@ -117,7 +117,7 @@ fn get_allowed_movement(player: &Player, grid: &Grid) -> (bool, bool, bool, bool
fn get_allowed_connection_movement(
player_position: &Vec2,
node_1: &Vec2,
node_2: &Vec2,
node_2: &Vec2
) -> (bool, bool, bool, bool) {
let allow_left_movement = {
if node_1.x <= node_2.x {
@ -171,7 +171,7 @@ fn get_allowed_connection_movement(
allow_up_movement,
allow_down_movement,
allow_left_movement,
allow_right_movement,
allow_right_movement
)
}

View file

@ -5,5 +5,6 @@ pub mod overworld;
pub enum Activity {
#[default]
House,
Overworld,
#[allow(dead_code)]
Overworld
}

View file

@ -2,19 +2,19 @@ use comfy::*;
use crate::{
activities::{house, overworld, Activity},
State,
State
};
pub fn update(state: &mut State, engine: &mut EngineContext) {
match state.activity {
Activity::House => house::update(state, engine),
Activity::Overworld => overworld::update(state, engine),
Activity::Overworld => overworld::update(state, engine)
}
}
pub fn draw(state: &State, engine: &EngineContext) {
match state.activity {
Activity::House => house::draw(state, engine),
Activity::Overworld => overworld::draw(state, engine),
Activity::Overworld => overworld::draw(state, engine)
}
}

View file

@ -1,8 +1,7 @@
mod activities;
mod game;
use activities::house::HouseState;
use activities::Activity;
use activities::{house::HouseState, Activity};
use comfy::*;
const GAME_NAME: &str = "Powercreep";
@ -10,7 +9,7 @@ const GAME_NAME: &str = "Powercreep";
#[derive(Debug, Default)]
struct State {
activity: Activity,
house: HouseState,
house: HouseState
}
impl GameLoop for State {