touchscreengames/touchscreengames/Core/Src/snake.h

55 lines
1.1 KiB
C

/*
* snake.h
*
* Created on: Jul 10, 2025
* Author: user
*/
#ifndef SRC_SNAKE_H_
#define SRC_SNAKE_H_
#include "main.h"
extern osMutexId_t displayHandle;
extern osMessageQueueId_t pressesHandle;
// Flash storage address for highscore
#define FLASH_USER_ADDR ((uint32_t)0x0803F000) // Adjusted to your sector layout
// Highscore flash functions
void Flash_Write_HighScore(uint32_t highscore);
uint32_t Flash_Read_HighScore(void);
// Snake movement direction enum
enum Direction {
STOP = 0, LEFT, RIGHT, UP, DOWN
};
// Snake structure definition
struct Snake {
int x, y;
int fruitCordX, fruitCordY;
int playerScore;
int TailX[100], TailY[100];
int TailLen;
enum Direction Dir;
int gamesizewidth;
int gamesizeheight;
int TailPendingDeletionX;
int TailPendingDeletionY;
int TailGrowPending;
int isGameOver;
};
// External instance of the snake object
extern struct Snake snake;
// Game functions
void GameInit(void);
void UpdateGame(void);
void GameRender(void);
int isGameOver();
#endif /* SRC_SNAKE_H_ */