From a911320228bbc3d1ae4b986269dc66023bce3f6a Mon Sep 17 00:00:00 2001 From: glitchcore Date: Sat, 3 Oct 2020 20:47:46 +0600 Subject: [PATCH 1/2] define SCALE --- floopper-bloopper.c | 6 +++--- floopper-bloopper.h | 2 ++ game-engine.c | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/floopper-bloopper.c b/floopper-bloopper.c index ad9fb9d..5e5ee77 100644 --- a/floopper-bloopper.c +++ b/floopper-bloopper.c @@ -15,7 +15,7 @@ void render_graphics(GameState* state, u8g2_t* fb) { } void render_player(GameState* state, u8g2_t* fb) { - u8g2_DrawBox(fb, state->player_x / 1000, state->player_y, PLAYER_WIDTH, PLAYER_HEIGHT); + u8g2_DrawBox(fb, state->player_x / SCALE, state->player_y, PLAYER_WIDTH, PLAYER_HEIGHT); } void handle_key(GameState* state, InputEvent* input) { @@ -27,9 +27,9 @@ void handle_key(GameState* state, InputEvent* input) { if(input->state) { if (input->input == InputRight) { - state->player_vx = 50; + state->player_vx = SPEED_X; } else if (input->input == InputLeft) { - state->player_vx = -50; + state->player_vx = -SPEED_X; } } else { if (input->input == InputRight || input->input == InputLeft) { diff --git a/floopper-bloopper.h b/floopper-bloopper.h index 760ca83..a612732 100644 --- a/floopper-bloopper.h +++ b/floopper-bloopper.h @@ -13,3 +13,5 @@ typedef struct { #define SCREEN_HEIGHT 64 #define PLAYER_WIDTH 6 #define PLAYER_HEIGHT 6 +#define SCALE 1000 +#define SPEED_X 50 diff --git a/game-engine.c b/game-engine.c index 63a4108..b802c57 100644 --- a/game-engine.c +++ b/game-engine.c @@ -70,7 +70,7 @@ void floopper_bloopper(void* p) { digitalWrite(green, HIGH); GameState state = { - .player_x = (SCREEN_WIDTH/2 - PLAYER_WIDTH/2) * 1000, + .player_x = (SCREEN_WIDTH/2 - PLAYER_WIDTH/2) * SCALE, .player_y = SCREEN_HEIGHT - 5 - PLAYER_WIDTH, .player_vx = 0, .green = &green From f15cc9edfc15d38a5bb930d1099c44717ce94bc2 Mon Sep 17 00:00:00 2001 From: glitchcore Date: Sat, 3 Oct 2020 21:00:17 +0600 Subject: [PATCH 2/2] BONDARIES first nayn --- floopper-bloopper.c | 5 +++++ floopper-bloopper.h | 3 +++ 2 files changed, 8 insertions(+) diff --git a/floopper-bloopper.c b/floopper-bloopper.c index 5e5ee77..703b93c 100644 --- a/floopper-bloopper.c +++ b/floopper-bloopper.c @@ -15,6 +15,11 @@ void render_graphics(GameState* state, u8g2_t* fb) { } void render_player(GameState* state, u8g2_t* fb) { + if (state->player_x < BONDARIES_X_LEFT * SCALE) { + state->player_x = BONDARIES_X_LEFT * SCALE; + } else if (state->player_x > (BONDARIES_X_RIGHT - PLAYER_WIDTH) * SCALE) { + state-> player_x = (BONDARIES_X_RIGHT - PLAYER_WIDTH) * SCALE; + } u8g2_DrawBox(fb, state->player_x / SCALE, state->player_y, PLAYER_WIDTH, PLAYER_HEIGHT); } diff --git a/floopper-bloopper.h b/floopper-bloopper.h index a612732..4a2f932 100644 --- a/floopper-bloopper.h +++ b/floopper-bloopper.h @@ -11,6 +11,9 @@ typedef struct { #define SCREEN_WIDTH 128 #define SCREEN_HEIGHT 64 +#define BONDARIES_X_LEFT 20 +#define BONDARIES_X_RIGHT 108 + #define PLAYER_WIDTH 6 #define PLAYER_HEIGHT 6 #define SCALE 1000