|
FreeRTOS Tetris
|
File containing the Game's Tasks. More...
#include "game.h"#include "input.h"#include "stateMachine.h"#include "logic.h"#include "gui.h"#include "opponent.h"
Macros | |
| #define | HIGHSCORES_SIZE 3 |
Delays | |
| #define | POS_UPDATE_DELAY 500 |
| Initial value for the delay for updating a Tetromino's position. | |
| #define | DELAY_AT_BOTTOM 300 |
| Initial value for the delay when a Tetromino hits the bottom. | |
Functions | |
| static void | buttonInput (bool *buttonPressed) |
| Check for button input, give semaphores and write the pressed buttons in a queue. More... | |
| static void | changeTimerPeriod (TimerHandle_t timer, uint8_t level, int delay) |
| Change a timer's period depending on the current level & start the timer. More... | |
| static void | mainMenuTask () |
| Task that handles the Main Menu. More... | |
| static void | posUpdateTimerCallback (TimerHandle_t PosUpdateTimer) |
| Callback function for the Timer that updates the position. More... | |
| static void | delayAtBottomTimerCallback (TimerHandle_t DelayAtGroundTimer) |
| Callback function for the Timer that starts a delay if a Tetromino hits the bottom. More... | |
| static void | gameTask () |
| Task that handles the Tetris gameplay. More... | |
| static void | pauseTask () |
| Task that handles the pause & game-over screen. More... | |
| static void | scoreTask () |
| Low priority task, running in the background, that handles the score. | |
| int | iGameInit () |
| Initialize the game. More... | |
Variables | |
Task Handles | |
| TaskHandle_t | MainMenuTask = NULL |
| Task for the Main Menu Task | |
| TaskHandle_t | GameTask = NULL |
| Task for the Game Task | |
| TaskHandle_t | PauseTask = NULL |
| Task for the Pause Task | |
| TaskHandle_t | ScoreTask = NULL |
| Task for the Score Task | |
Timer Handles | |
| TimerHandle_t | PosUpdateTimer = NULL |
| Timer for updating a Tetromino's position | |
| TimerHandle_t | DelayAtGroundTimer = NULL |
| Timer for the delay, when a Tetromino hits the bottom | |
Semaphore Handles | |
| SemaphoreHandle_t | ScreenLock = NULL |
| Semaphore for locking the screen | |
| SemaphoreHandle_t | DrawSignal = NULL |
| Signal for drawing | |
| SemaphoreHandle_t | YSignal = NULL |
| Signal for updating a Tetromino's y-position | |
| SemaphoreHandle_t | XSignal = NULL |
| Signal for updating a Tetromino's x-position | |
| SemaphoreHandle_t | FallSignal = NULL |
| Signal if the down-key is held | |
| SemaphoreHandle_t | RotationSignal = NULL |
| Signal for rotating a Tetromino | |
| SemaphoreHandle_t | InitNextSignal = NULL |
| Signal for initializing the next Tetromino | |
| SemaphoreHandle_t | ResetGameSignal = NULL |
| Signal for resetting the game | |
| SemaphoreHandle_t | ResetUDPSignal = NULL |
| Signal for resetting the UDP socket | |
| SemaphoreHandle_t | NoConnectionSignal = NULL |
| Signal if the binary is not connected | |
Queue Handles | |
| QueueHandle_t | LeftRightQueue = NULL |
| Queue for left & right input | |
| QueueHandle_t | ConnectionQueue = NULL |
| Queue for the connection status | |
| QueueHandle_t | GameModeQueue = NULL |
| Queue for the game mode | |
| QueueHandle_t | PlayerModeQueue = NULL |
| Queue for the player mode | |
| QueueHandle_t | RotationModeQueue = NULL |
| Queue for the rotation mode | |
| QueueHandle_t | ScoreQueue = NULL |
| Queue for the current score | |
| QueueHandle_t | HighScoresQueue = NULL |
| Queue for the highscores | |
| QueueHandle_t | LevelQueue = NULL |
| Queue for the current level | |
| QueueHandle_t | GameOverQueue = NULL |
| Queue for the game-over status | |
File containing the Game's Tasks.
1.8.17