diff options
author | Flenk008 <frenk_0_0@hotmail.com> | 2023-03-09 20:43:36 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-03-09 20:43:36 +0100 |
commit | 2983fd4fba208b3039be753c80d17804eb4a123e (patch) | |
tree | 792a6a7f37515ee60dca9f48971e0341caba5b41 | |
parent | 5a30ce4f44b97e2514093fe716db44ee4c9ea420 (diff) |
Add files via upload
Updated with functions
-rw-r--r-- | GameLogic/stm32/main.c | 392 |
1 files changed, 245 insertions, 147 deletions
diff --git a/GameLogic/stm32/main.c b/GameLogic/stm32/main.c index edabde5..666992f 100644 --- a/GameLogic/stm32/main.c +++ b/GameLogic/stm32/main.c @@ -21,7 +21,7 @@ /* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */
-
+#include <stdbool.h>
/* USER CODE END Includes */
/* Private typedef -----------------------------------------------------------*/
@@ -45,6 +45,58 @@ TIM_HandleTypeDef htim3; /* USER CODE BEGIN PV */
+static int8_t buttonDPAD[] = {0,0,0,0}; //1left 2right 3down 4up
+
+struct playerData{
+ uint16_t posX;
+ uint16_t posY;
+ uint8_t radius;
+ uint8_t rotation; //45 degrees steps 0 == right 2 == down 4 == left 6 == up
+ uint8_t directionX; //direction where its looking at in case no input;
+ int8_t speed; //10 default L/R MODifier
+ bool inAir;
+
+};
+
+struct playerData player1;
+
+uint8_t tileMap[30][40] =
+ {
+ {1,1,1,1,1,1,1,1,1,1 ,1,1,1,1,1,1,1,1,1,1 ,1,1,1,1,1,1,1,1,1,1 ,1,1,1,1,1,1,1,1,1,1 },
+ {1,1,1,1,1,1,1,1,1,1 ,1,1,1,1,1,1,1,1,1,1 ,1,1,1,1,1,1,1,1,1,1 ,1,1,1,1,1,1,1,1,1,1 },
+ {1,1,1,1,1,1,1,1,1,1 ,1,1,1,1,1,1,1,1,1,1 ,1,1,1,1,1,1,1,1,1,1 ,1,1,1,1,1,1,1,1,1,1 },
+ {1,1,1,1,1,1,1,1,1,1 ,1,1,1,1,1,1,1,1,1,1 ,1,1,1,1,1,1,1,1,1,1 ,1,1,1,1,1,1,1,1,1,1 },
+ {1,1,1,1,1,1,1,1,1,1 ,1,1,1,1,1,1,1,1,1,1 ,1,1,1,1,1,1,1,1,1,1 ,1,1,1,1,1,1,1,1,1,1 },
+ {1,1,1,1,1,1,1,1,1,1 ,0,0,0,0,0,0,0,0,0,0 ,0,0,0,0,0,0,0,0,0,0 ,1,1,1,1,1,1,1,1,1,1 },
+ {1,1,1,1,1,1,1,1,1,1 ,0,0,0,0,0,0,0,0,0,0 ,0,0,0,0,0,0,0,0,0,0 ,1,1,1,1,1,1,1,1,1,1 },
+ {1,1,1,1,1,1,1,1,1,1 ,0,0,0,0,0,0,0,0,0,0 ,0,0,0,0,0,0,0,0,0,0 ,1,1,1,1,1,1,1,1,1,1 },
+ {1,1,1,1,1,1,1,1,1,1 ,0,0,0,0,0,0,0,0,0,0 ,0,0,0,0,0,0,0,0,0,0 ,1,1,1,1,1,1,1,1,1,1 },
+ {1,1,1,1,1,1,1,1,1,1 ,0,0,0,0,0,0,0,0,0,0 ,0,0,0,0,0,0,0,0,0,0 ,1,1,1,1,1,1,1,1,1,1 },
+ {1,1,1,1,1,1,1,1,1,1 ,0,0,0,0,0,0,0,0,0,0 ,0,0,0,0,0,0,0,0,0,0 ,1,1,1,1,1,1,1,1,1,1 },
+ {1,1,1,1,1,1,1,1,1,1 ,0,0,0,0,0,0,0,0,0,0 ,0,0,0,0,0,0,0,0,0,0 ,1,1,1,1,1,1,1,1,1,1 },
+ {1,1,1,1,1,1,1,1,1,1 ,0,0,0,0,0,0,0,0,0,0 ,0,0,0,0,0,0,0,0,0,0 ,1,1,1,1,1,1,1,1,1,1 },
+ {1,1,1,1,1,1,1,1,1,1 ,0,0,0,0,0,0,0,0,0,0 ,0,0,0,0,0,0,0,0,0,0 ,1,1,1,1,1,1,1,1,1,1 },
+ {1,1,1,1,1,1,1,1,1,1 ,0,0,0,0,0,0,0,0,0,0 ,0,0,0,0,0,0,0,0,0,0 ,1,1,1,1,1,1,1,1,1,1 },
+ {1,1,1,1,1,1,1,1,1,1 ,0,0,0,0,0,0,0,0,0,0 ,0,0,0,0,0,0,0,0,0,0 ,1,1,1,1,1,1,1,1,1,1 },
+ {1,1,1,1,1,1,1,1,1,1 ,0,0,0,0,0,0,0,0,0,0 ,0,0,0,0,0,0,0,0,0,0 ,1,1,1,1,1,1,1,1,1,1 },
+ {1,1,1,1,1,1,1,1,1,1 ,0,0,0,0,0,0,0,0,0,0 ,0,0,0,0,0,0,0,0,0,0 ,1,1,1,1,1,1,1,1,1,1 },
+ {1,1,1,1,1,1,1,1,1,1 ,0,0,0,0,0,0,0,0,0,0 ,0,0,0,0,0,0,0,0,0,0 ,1,1,1,1,1,1,1,1,1,1 },
+ {1,1,1,1,1,1,1,1,1,1 ,0,0,0,0,0,0,0,0,0,0 ,0,0,0,0,0,0,0,0,0,0 ,1,1,1,1,1,1,1,1,1,1 },
+ {1,1,1,1,1,1,1,1,1,1 ,0,0,0,0,0,0,0,0,0,0 ,0,0,0,0,0,0,0,0,0,0 ,1,1,1,1,1,1,1,1,1,1 },
+ {1,1,1,1,1,1,1,1,1,1 ,0,0,0,0,0,0,0,0,0,0 ,0,0,0,0,0,0,0,0,0,0 ,1,1,1,1,1,1,1,1,1,1 },
+ {1,1,1,1,1,1,1,1,1,1 ,0,0,0,0,0,0,0,0,0,0 ,0,0,0,0,0,0,0,0,0,0 ,1,1,1,1,1,1,1,1,1,1 },
+ {1,1,1,1,1,1,1,1,1,1 ,0,0,0,0,0,0,0,0,0,0 ,0,0,0,0,0,0,0,0,0,0 ,1,1,1,1,1,1,1,1,1,1 },
+ {1,1,1,1,1,1,1,1,1,1 ,1,1,1,1,1,1,1,1,1,1 ,1,1,1,1,1,1,1,1,1,1 ,1,1,1,1,1,1,1,1,1,1 },
+ {1,1,1,1,1,1,1,1,1,1 ,1,1,1,1,1,1,1,1,1,1 ,1,1,1,1,1,1,1,1,1,1 ,1,1,1,1,1,1,1,1,1,1 },
+ {1,1,1,1,1,1,1,1,1,1 ,1,1,1,1,1,1,1,1,1,1 ,1,1,1,1,1,1,1,1,1,1 ,1,1,1,1,1,1,1,1,1,1 },
+ {1,1,1,1,1,1,1,1,1,1 ,1,1,1,1,1,1,1,1,1,1 ,1,1,1,1,1,1,1,1,1,1 ,1,1,1,1,1,1,1,1,1,1 },
+ {1,1,1,1,1,1,1,1,1,1 ,1,1,1,1,1,1,1,1,1,1 ,1,1,1,1,1,1,1,1,1,1 ,1,1,1,1,1,1,1,1,1,1 },
+ {1,1,1,1,1,1,1,1,1,1 ,1,1,1,1,1,1,1,1,1,1 ,1,1,1,1,1,1,1,1,1,1 ,1,1,1,1,1,1,1,1,1,1 }
+
+
+
+ };
+
/* USER CODE END PV */
/* Private function prototypes -----------------------------------------------*/
@@ -53,12 +105,15 @@ static void MX_GPIO_Init(void); static void MX_SPI1_Init(void);
static void MX_TIM3_Init(void);
/* USER CODE BEGIN PFP */
-
+void buttonRead();
+void playerMovement();
+void sendData(uint8_t, uint16_t);
/* USER CODE END PFP */
/* Private user code ---------------------------------------------------------*/
/* USER CODE BEGIN 0 */
+
/* USER CODE END 0 */
/**
@@ -93,50 +148,15 @@ int main(void) MX_TIM3_Init();
/* USER CODE BEGIN 2 */
// correct byte for led control
- uint16_t pos_x = 310; //0b0000 0001 0011 0110
- uint16_t pos_y = 210;
+ uint16_t pos_x; //0b0000 0001 0011 0110
+ uint16_t pos_y;
uint8_t left = 0;
uint8_t right = 0;
uint8_t up = 0;
uint8_t down = 0;
- uint8_t tileMap[30][40] =
- {
- {1,1,1,1,1,1,1,1,1,1 ,1,1,1,1,1,1,1,1,1,1 ,1,1,1,1,1,1,1,1,1,1 ,1,1,1,1,1,1,1,1,1,1 },
- {1,1,1,1,1,1,1,1,1,1 ,1,1,1,1,1,1,1,1,1,1 ,1,1,1,1,1,1,1,1,1,1 ,1,1,1,1,1,1,1,1,1,1 },
- {1,1,1,1,1,1,1,1,1,1 ,1,1,1,1,1,1,1,1,1,1 ,1,1,1,1,1,1,1,1,1,1 ,1,1,1,1,1,1,1,1,1,1 },
- {1,1,1,1,1,1,1,1,1,1 ,1,1,1,1,1,1,1,1,1,1 ,1,1,1,1,1,1,1,1,1,1 ,1,1,1,1,1,1,1,1,1,1 },
- {1,1,1,1,1,1,1,1,1,1 ,1,1,1,1,1,1,1,1,1,1 ,1,1,1,1,1,1,1,1,1,1 ,1,1,1,1,1,1,1,1,1,1 },
- {1,1,1,1,1,1,1,1,1,1 ,0,0,0,0,0,0,0,0,0,0 ,0,0,0,0,0,0,0,0,0,0 ,1,1,1,1,1,1,1,1,1,1 },
- {1,1,1,1,1,1,1,1,1,1 ,0,0,0,0,0,0,0,0,0,0 ,0,0,0,0,0,0,0,0,0,0 ,1,1,1,1,1,1,1,1,1,1 },
- {1,1,1,1,1,1,1,1,1,1 ,0,0,0,0,0,0,0,0,0,0 ,0,0,0,0,0,0,0,0,0,0 ,1,1,1,1,1,1,1,1,1,1 },
- {1,1,1,1,1,1,1,1,1,1 ,0,0,0,0,0,0,0,0,0,0 ,0,0,0,0,0,0,0,0,0,0 ,1,1,1,1,1,1,1,1,1,1 },
- {1,1,1,1,1,1,1,1,1,1 ,0,0,0,0,0,0,0,0,0,0 ,0,0,0,0,0,0,0,0,0,0 ,1,1,1,1,1,1,1,1,1,1 },
- {1,1,1,1,1,1,1,1,1,1 ,0,0,0,0,0,0,0,0,0,0 ,0,0,0,0,0,0,0,0,0,0 ,1,1,1,1,1,1,1,1,1,1 },
- {1,1,1,1,1,1,1,1,1,1 ,0,0,0,0,0,0,0,0,0,0 ,0,0,0,0,0,0,0,0,0,0 ,1,1,1,1,1,1,1,1,1,1 },
- {1,1,1,1,1,1,1,1,1,1 ,0,0,0,0,0,0,0,0,0,0 ,0,0,0,0,0,0,0,0,0,0 ,1,1,1,1,1,1,1,1,1,1 },
- {1,1,1,1,1,1,1,1,1,1 ,0,0,0,0,0,0,0,0,0,0 ,0,0,0,0,0,0,0,0,0,0 ,1,1,1,1,1,1,1,1,1,1 },
- {1,1,1,1,1,1,1,1,1,1 ,0,0,0,0,0,0,0,0,0,0 ,0,0,0,0,0,0,0,0,0,0 ,1,1,1,1,1,1,1,1,1,1 },
- {1,1,1,1,1,1,1,1,1,1 ,0,0,0,0,0,0,0,0,0,0 ,0,0,0,0,0,0,0,0,0,0 ,1,1,1,1,1,1,1,1,1,1 },
- {1,1,1,1,1,1,1,1,1,1 ,0,0,0,0,0,0,0,0,0,0 ,0,0,0,0,0,0,0,0,0,0 ,1,1,1,1,1,1,1,1,1,1 },
- {1,1,1,1,1,1,1,1,1,1 ,0,0,0,0,0,0,0,0,0,0 ,0,0,0,0,0,0,0,0,0,0 ,1,1,1,1,1,1,1,1,1,1 },
- {1,1,1,1,1,1,1,1,1,1 ,0,0,0,0,0,0,0,0,0,0 ,0,0,0,0,0,0,0,0,0,0 ,1,1,1,1,1,1,1,1,1,1 },
- {1,1,1,1,1,1,1,1,1,1 ,0,0,0,0,0,0,0,0,0,0 ,0,0,0,0,0,0,0,0,0,0 ,1,1,1,1,1,1,1,1,1,1 },
- {1,1,1,1,1,1,1,1,1,1 ,0,0,0,0,0,0,0,0,0,0 ,0,0,0,0,0,0,0,0,0,0 ,1,1,1,1,1,1,1,1,1,1 },
- {1,1,1,1,1,1,1,1,1,1 ,0,0,0,0,0,0,0,0,0,0 ,0,0,0,0,0,0,0,0,0,0 ,1,1,1,1,1,1,1,1,1,1 },
- {1,1,1,1,1,1,1,1,1,1 ,0,0,0,0,0,0,0,0,0,0 ,0,0,0,0,0,0,0,0,0,0 ,1,1,1,1,1,1,1,1,1,1 },
- {1,1,1,1,1,1,1,1,1,1 ,0,0,0,0,0,0,0,0,0,0 ,0,0,0,0,0,0,0,0,0,0 ,1,1,1,1,1,1,1,1,1,1 },
- {1,1,1,1,1,1,1,1,1,1 ,1,1,1,1,1,1,1,1,1,1 ,1,1,1,1,1,1,1,1,1,1 ,1,1,1,1,1,1,1,1,1,1 },
- {1,1,1,1,1,1,1,1,1,1 ,1,1,1,1,1,1,1,1,1,1 ,1,1,1,1,1,1,1,1,1,1 ,1,1,1,1,1,1,1,1,1,1 },
- {1,1,1,1,1,1,1,1,1,1 ,1,1,1,1,1,1,1,1,1,1 ,1,1,1,1,1,1,1,1,1,1 ,1,1,1,1,1,1,1,1,1,1 },
- {1,1,1,1,1,1,1,1,1,1 ,1,1,1,1,1,1,1,1,1,1 ,1,1,1,1,1,1,1,1,1,1 ,1,1,1,1,1,1,1,1,1,1 },
- {1,1,1,1,1,1,1,1,1,1 ,1,1,1,1,1,1,1,1,1,1 ,1,1,1,1,1,1,1,1,1,1 ,1,1,1,1,1,1,1,1,1,1 },
- {1,1,1,1,1,1,1,1,1,1 ,1,1,1,1,1,1,1,1,1,1 ,1,1,1,1,1,1,1,1,1,1 ,1,1,1,1,1,1,1,1,1,1 }
-
-
- };
uint8_t pos_x_bit[2];
uint8_t pos_y_bit[2];
@@ -144,11 +164,17 @@ int main(void) int tileX;
int tileY;
-
-
-
-
-
+// struct playerData player1;
+ //int buttons[] = {GPIO_PIN_4,GPIO_PIN_5,GPIO_PIN_6,GPIO_PIN_8}; // 1 left // 2 right // 3 up // 4 down
+
+/// init struct
+ player1.posX = 31000; //0b0000 0001 0011 0110
+ player1.posY = 21000;
+ player1.radius = 8;
+ player1.speed = 1;
+ player1.directionX = 1;
+ player1.rotation = 8;
+ player1.inAir = false;
/* USER CODE END 2 */
/* Infinite loop */
@@ -156,113 +182,19 @@ int main(void) while (1)
{
- //shift int into 2 8bit u_int
- pos_x_bit[1] = pos_x & 0xff;
- pos_x_bit[0] = (pos_x >> 8);
- pos_y_bit[1] = pos_y & 0xff;
- pos_y_bit[0] = (pos_y >> 8);
- // simplify coor for tilemap
- tileX = pos_x / 20;
- tileY = pos_y / 16;
+ buttonRead();
+ playerMovement();
- //read buttons 4 times
- if(HAL_GPIO_ReadPin(GPIOB, GPIO_PIN_4) == 1)
- {
- left++;
- }
- else
- {
- left = 0;
- }
- if(HAL_GPIO_ReadPin(GPIOB, GPIO_PIN_5) == 1)
- {
- right++;
- }
- else
- {
- right = 0;
- }
- if(HAL_GPIO_ReadPin(GPIOB, GPIO_PIN_6) == 1)
- {
- up++;
- }
- else
- {
- up = 0;
- }
- if(HAL_GPIO_ReadPin(GPIOB, GPIO_PIN_8) == 1)
- {
- down++;
- }
- else
- {
- down = 0;
- }
- // compare position x/y with tilemap for collision
- if(left > 10)
- {
- if(tileMap[tileY][tileX] == 1)
- {
- left = 0;
- }
- else
- {
- pos_x--;
- }
- left = 0;
- }
- if(right > 10)
- {
- if(tileMap[tileY][tileX+1] == 1)
- {
- right = 0;
- }
- else
- {
- pos_x++;
- }
- right = 0;
- }
- if(up > 10)
- {
- if(tileMap[tileY+1][tileX] == 1)
- {
- up = 0;
- }
- else
- {
- pos_y++;
- }
- up = 0;
- }
- if(down > 10)
- {
- if( tileMap[tileY][tileX] == 1)
- {
- down = 0;
- }
- else
- {
- pos_y--;
- }
- down = 0;
- }
- // send data via SPI
- data_send[0] = 0b00000000; // first byte is address
- data_send[1] = pos_y_bit[0] ;
- data_send[2] = pos_y_bit[1];
- HAL_GPIO_WritePin(GPIOA, GPIO_PIN_9, GPIO_PIN_RESET);
- HAL_SPI_Transmit(&hspi1, data_send, 3, HAL_MAX_DELAY); //3*8 bit
- HAL_GPIO_WritePin(GPIOA, GPIO_PIN_9, GPIO_PIN_SET);
- data_send[0] = 0b01000000; // first byte is address
- data_send[1] = pos_x_bit[0] ;
- data_send[2] = pos_x_bit[1];
- HAL_GPIO_WritePin(GPIOA, GPIO_PIN_9, GPIO_PIN_RESET);
- HAL_SPI_Transmit(&hspi1, data_send, 3, HAL_MAX_DELAY); //3*8 bit
- HAL_GPIO_WritePin(GPIOA, GPIO_PIN_9, GPIO_PIN_SET);
+
+ // send data via SPI //adjust map size
+ pos_x = player1.posX / 100;
+ pos_y = player1.posY / 100;
+
+ sendData(0b01000000,pos_x);
+ sendData(0b00000000,pos_y);
/* USER CODE END WHILE */
@@ -424,7 +356,173 @@ static void MX_GPIO_Init(void) }
/* USER CODE BEGIN 4 */
+void sendData(uint8_t address, uint16_t data)
+{
+ uint8_t bitData[3];
+ bitData[2] = data & 0xff;
+ bitData[1] = (data >> 8);
+ bitData[0] = address; // first byte is address
+
+
+
+ HAL_GPIO_WritePin(GPIOA, GPIO_PIN_9, GPIO_PIN_RESET);
+ HAL_SPI_Transmit(&hspi1, bitData, 3, 100); //2*8 bit data
+ HAL_GPIO_WritePin(GPIOA, GPIO_PIN_9, GPIO_PIN_SET);
+
+}
+
+/*
+#define GPIO_PIN_0 ((uint16_t)0x0001U) Pin 0 selected
+#define GPIO_PIN_1 ((uint16_t)0x0002U) Pin 1 selected
+#define GPIO_PIN_2 ((uint16_t)0x0004U) Pin 2 selected
+#define GPIO_PIN_3 ((uint16_t)0x0008U) Pin 3 selected
+#define GPIO_PIN_4 ((uint16_t)0x0010U) Pin 4 selected
+#define GPIO_PIN_5 ((uint16_t)0x0020U) Pin 5 selected
+#define GPIO_PIN_6 ((uint16_t)0x0040U) Pin 6 selected
+#define GPIO_PIN_7 ((uint16_t)0x0080U) Pin 7 selected
+#define GPIO_PIN_8 ((uint16_t)0x0100U) Pin 8 selected
+#define GPIO_PIN_9 ((uint16_t)0x0200U) Pin 9 selected
+#define GPIO_PIN_10 ((uint16_t)0x0400U) Pin 10 selected
+#define GPIO_PIN_11 ((uint16_t)0x0800U) Pin 11 selected
+#define GPIO_PIN_12 ((uint16_t)0x1000U) Pin 12 selected
+#define GPIO_PIN_13 ((uint16_t)0x2000U) Pin 13 selected
+#define GPIO_PIN_14 ((uint16_t)0x4000U) Pin 14 selected
+#define GPIO_PIN_15 ((uint16_t)0x8000U) Pin 15 selected
+#define GPIO_PIN_All ((uint16_t)0xFFFFU) All pins selected
+*/
+
+void buttonRead()
+{
+ //int buttons[] = {GPIO_PIN_4,GPIO_PIN_5,GPIO_PIN_6,GPIO_PIN_8}; // 1 left // 2 right // 3 down // 4 up 8-6-4-5
+ uint16_t buttons[] = {0x0100U,0x0040U,0x0010U,0x0020U}; // 1 left // 2 right // 3 down // 4 up
+
+ for(int i = 0; i < 4; i++)
+ {
+ if(HAL_GPIO_ReadPin(GPIOB, buttons[i]) == 1)
+ {
+ if((i+2) % 2 == 0)
+ {
+ buttonDPAD[i] = 1;
+ }
+ else
+ {
+ buttonDPAD[i] = -1;
+ }
+ }
+ else
+ {
+ buttonDPAD[i] = 0;
+ }
+ }
+}
+
+void playerMovement()
+{
+
+ int8_t directionX = 0; // -1 = L || 1 == R
+ int8_t directionY = 0; // -1 = D || 1 == U
+
+ uint8_t i,j;
+ uint8_t rotation = 0; // 0-7
+ //temp var for testing
+
+
+
+ // direction calc
+ directionX = buttonDPAD[0] + buttonDPAD[1];
+ directionY = buttonDPAD[2] + buttonDPAD[3];
+
+ //rotation calc
+ for(i = -1; i < 2;i++)
+ {
+ for(j = -1; j < 2; j++)
+ {
+ if(directionX == i)
+ {
+ if(directionY == j)
+ {
+ if(i != 0 && j != 0) //dont update when player idle
+ {
+ player1.rotation = rotation;
+ }
+ }
+ }
+ rotation++;
+ }
+ }
+ //direction calc
+ if(directionX != 0) //update direction if player is not idle
+ {
+ player1.directionX = directionX;
+ }
+ //collision map x-axis
+
+ //tile calc including radius and direction for background coliision
+
+ uint16_t tileColX;
+ uint16_t tileColY = ( player1.posY / 100) / 16; ;
+
+ // remaining space between grid and exact
+ uint8_t modTileX;
+ uint8_t modTileY;
+
+
+
+ if(player1.inAir == false && directionX != 0)
+ {
+ if(directionX == 1)
+ {
+ tileColX = ( ( player1.posX / 100) + player1.radius ) / 20;
+ modTileX = ( player1.posX + ( 100 * player1.radius ) ) % 2000;
+ }
+ else if(directionX == -1)
+ {
+ tileColX = ( ( player1.posX / 100) - player1.radius ) / 20;
+ modTileX = ( player1.posX - ( 100 * player1.radius ) ) % 2000;
+ }
+
+ if(tileMap[tileColY][tileColX + directionX] != 1)
+ {
+ player1.posX = player1.posX + (directionX * player1.speed); // NEW x set
+ }
+
+ else if(tileMap[tileColY][tileColX + directionX] == 1)
+ {
+ if(modTileX < player1.speed)
+ {
+ player1.posX = player1.posX + (directionX * modTileX); // NEW x set
+ }
+ else
+ {
+ player1.posX = player1.posX + (directionX * player1.speed); // NEW x set
+ }
+ }
+
+ }
+ else //if in air different all borders have to be checked
+ {
+
+ }
+
+ //collision map floor (y-axis) (falling)
+ // if falling no jump press (implement)
+ /*
+ tileColY = (( player1.posY / 100) + player1.radius) / 16; //bottom of player box
+ modTileY = 1;
+ if(tileMap[tileColY+1][tileColX] != 1) //rework after jumping
+ {
+ player1.posY = player1.posY + 5 ;// NEW y set //makew var gravity
+ //playerStat = falling; //for later use of graphics/sound
+ }
+ */
+ //else if(tileMap[])
+
+
+
+
+
+}
/* USER CODE END 4 */
/**
|