Completely trash game but I might end my days soon so I push now

This commit is contained in:
Rohmer Maxime
2024-06-13 20:41:18 +02:00
parent e8a745860d
commit e6c9b8d272
11 changed files with 748 additions and 175 deletions
+33 -15
View File
@@ -11,6 +11,7 @@
#include "config_LPC1769.h"
#include <stdint.h>
#include <stdbool.h>
#include <math.h>
#include "GPIO.h"
#include "SPI.h"
@@ -108,9 +109,18 @@ Player CreatePlayer(){
return player;
}
int min(int x,int y){
if(x > y){
return y;
}else{
return x;
}
}
void RefreshPlayer(Point vector){
if(player.Hitbox.Position.Y + vector.Y < 0){
player.Hitbox.Position.Y = SCREEN_SIZE.Height + (player.Hitbox.Position.Y - (0-vector.Y));
//player.Hitbox.Position.Y = SCREEN_SIZE.Height + (player.Hitbox.Position.Y - (0-vector.Y));
player.Hitbox.Position.Y = player.Hitbox.Position.Y & SCREEN_SIZE.Height;
}else{
if(player.Hitbox.Position.Y + vector.Y >= SCREEN_SIZE.Height){
player.Hitbox.Position.Y = vector.Y - (SCREEN_SIZE.Height - player.Hitbox.Position.Y);
@@ -126,14 +136,24 @@ void RefreshPlayer(Point vector){
if(player.Hitbox.Position.X < 0)
player.Hitbox.Position.X = 0;
Size bigSize = {0,0};
bigSize.Width = player.Hitbox.Size.Width + abs(vector.X);
bigSize.Height = player.Hitbox.Size.Height + abs(vector.Y);
Rectangle rect = player.Hitbox;
rect.Position = (Point){0,0};
DrawPlayer(player,rect);
Refresh_Area(player.Hitbox);
Point bigPos = {0,0};
bigPos.X = min(player.Hitbox.Position.X, player.Hitbox.Position.X - vector.X);
bigPos.Y = min(player.Hitbox.Position.Y, player.Hitbox.Position.Y - vector.Y);
bigPos.Y = bigPos.Y % SCREEN_SIZE.Height;
Refresh_Player_Area((Rectangle){bigPos,bigSize},player.Hitbox);
//Rectangle rect = player.Hitbox;
//rect.Position = (Point){0,0};
//DrawPlayer(player,rect);
}
int main(void) {
init();
InitButtons();
InitTimer();
@@ -189,18 +209,16 @@ int main(void) {
momentum.X += vec.X;
momentum.Y += vec.Y;
if(momentum.X > 35)
momentum.X = 35;
if(momentum.X < -40)
momentum.X = -40;
if(momentum.X > 20)
momentum.X = 20;
if(momentum.X < -25)
momentum.X = -25;
if(momentum.Y > 35)
momentum.Y = 35;
if(momentum.Y < -35)
momentum.Y = -35;
if(momentum.Y > 20)
momentum.Y = 20;
if(momentum.Y < -20)
momentum.Y = -20;
RefreshPlayer(momentum);
}
}