Zap'Em Blast'Em Robots
robots that play laser tag!
Loading...
Searching...
No Matches
game_task.h
Go to the documentation of this file.
1
9
10#ifndef INC_GAME_TASK_H_
11#define INC_GAME_TASK_H_
12
13#include <stdint.h>
14#include "stm32f4xx_hal.h"
15
19typedef struct SoundTask SoundTask;
27typedef struct GameTask GameTask;
28
34typedef void (*game_fcn_t)(GameTask *game_task);
35
67
75void game_task_state_0_init(GameTask *game_task);
81void game_task_run(GameTask *game_task);
90void game_task_state_1_home(GameTask *game_task);
99void game_task_state_2_play(GameTask *game_task);
108void game_task_state_3_end(GameTask *game_task);
109
110#endif /* INC_GAME_TASK_H_ */
void game_task_run(GameTask *game_task)
Executes the current game task state.
Definition game_task.c:29
void game_task_state_2_play(GameTask *game_task)
Handles gameplay logic and scoring (state 2).
Definition game_task.c:88
void(* game_fcn_t)(GameTask *game_task)
Function pointer type for ADC state functions.
Definition game_task.h:34
void game_task_state_3_end(GameTask *game_task)
Displays game over screen and resets (state 3).
Definition game_task.c:179
void game_task_state_0_init(GameTask *game_task)
Initializes the game task (state 0).
Definition game_task.c:50
struct SoundTask SoundTask
Forward declaration for SoundTask.
Definition game_task.h:19
void game_task_state_1_home(GameTask *game_task)
Waits for player to initiate the game (state 1).
Definition game_task.c:64
Structure that represents the game task state and configuration.
Definition game_task.h:43
int32_t num_states
Definition game_task.h:45
int32_t score_blue
Definition game_task.h:48
int32_t play_flag
Definition game_task.h:46
game_fcn_t state_list[]
Definition game_task.h:65
PhotoresistorTask * red_photoresistor_task_ptr
Definition game_task.h:60
uint32_t red_delay_start
Definition game_task.h:53
int32_t score_thresh
Definition game_task.h:51
uint32_t delay
Definition game_task.h:57
int32_t score_red
Definition game_task.h:47
int32_t score_blue_prev
Definition game_task.h:50
motor_t * mred
Definition game_task.h:62
int32_t blue_delay_flag
Definition game_task.h:56
int32_t red_delay_flag
Definition game_task.h:55
int32_t score_red_prev
Definition game_task.h:49
PhotoresistorTask * blue_photoresistor_task_ptr
Definition game_task.h:61
motor_t * mblue
Definition game_task.h:63
uint32_t end_delay
Definition game_task.h:58
I2C_HandleTypeDef * i2c_handle
Definition game_task.h:64
SoundTask * sound_task_ptr
Definition game_task.h:59
int32_t num
Definition game_task.h:52
uint32_t blue_delay_start
Definition game_task.h:54
int32_t state
Definition game_task.h:44
Structure for tracking photoresistor task state and config.
Definition photoresistor_task.h:38
Structure that represents the sound task state and configuration.
Definition sound_task.h:48
Motor object data structure.
Definition motor_driver.h:22