4 #include "project_settings.h"
6 #ifndef USE_MODULE_BUFFER_PRINTF
7 #error "This module requires optional UART functionality provided by buffer_printf. Please declare USE_MODULE_BUFFER_PRINTF in project_settings.h"
12 #ifdef USE_MODULE_GAME_CONTROLLER
13 #include "game_controller.h"
107 #ifndef TRANSPARENT_CHAR
108 #define TRANSPARENT_CHAR '`'
140 void (*callback)(
int argc,
char *argv[]));
150 void(*callback)(
void));
163 void Game_Log(uint8_t game_id,
char * str, ...);
395 void Game_DrawRect(
char x_min,
char y_min,
char x_max,
char y_max);
430 void Game_FillRect(
char c,
char x_min,
char y_min,
char x_max,
char y_max);
521 #ifdef USE_MODULE_GAME_NFR24
527 controller_buttons_t controller[4];
528 uint8_t user_data[22];
529 }game_network_payload_t;
531 void Game_RegisterInputCallback(
void(*fn)(game_network_payload_t *));
533 void Game_RegisterHostPacketizer(uint8_t(*fn)(uint8_t *));
535 void Game_Join(uint8_t channel);
537 void Game_Host(uint8_t channel);
539 void Game_NetworkInit(
nrf24_t * nrf_ptr);
542 #define RF_ADDRESS 0x6C6C6C7800
545 #define GAME_NRF_TX_PERIOD 40
char y
y position (increasing from top to bottom)
Definition: game.h:68
char y_next_node
y coordinate of next node in the list
Definition: game.h:86
void Game_RegisterHighscoreCallback(uint8_t game_id, void(*callback)(void))
Definition: game.c:140
buffer_t * rx
Definition: uart.c:221
void Game_Player1CursorXY(char x, char y)
Player 1 Cursor Position XY.
Definition: game.c:287
void Game_UnregisterPlayer1Receiver(void(*rx)(uint8_t))
Unregister Player 1 UART Channel receiver.
Definition: game.c:168
char y
y position (increasing from top to bottom)
Definition: game.h:84
void Game_PrintfXY(char x, char y, char *str,...)
PrintfXY to screen.
Definition: game.c:310
int first
flag to keep track of the first node in the list (i.e. 1 if first 0 if not)
Definition: game.h:87
uint8_t Game_IsTransmitting(void)
Definition: game.c:502
void Game_LinkedChar(char c, char x_first, char y_first, int length, int direction, linked_char_object_t list[])
Definition: game.c:402
char c
Displayed character ("sprite")
Definition: game.h:66
void Game_Player2CursorXY(char x, char y)
Player 2 Cursor Position XY.
Definition: game.c:291
void Game_RegisterPlayer1Receiver(void(*rx)(uint8_t))
Definition: game.c:160
void Game_EnableMultiPlayer(uint8_t game_id, uint8_t num)
Definition: game.c:155
char status
Status of object. Usage depends on implementation.
Definition: game.h:90
void Game_Player2CharXY(char c, char x, char y)
Write a character to a coordinate of the second players terminal.
Definition: game.c:277
uint8_t Game_Register(char *name, char *description, void(*play)(void), void(*help)(void))
Game_Register registers a game by adding it to the games[] array.
Definition: game.c:115
void Game_Player1CharXY(char c, char x, char y)
Write a character to a coordinate of the first players terminal.
Definition: game.c:273
char status
Status of object. Usage depends on implementation.
Definition: game.h:69
void Game_FillRect(char c, char x_min, char y_min, char x_max, char y_max)
Definition: game.c:391
void Game_Player2Printf(char *str,...)
Definition: game.c:326
Player info structure to hold player settings.
Definition: game.h:101
void Game_SetColor(enum term_color color)
Definition: game.c:355
char x
x position (increasing from left to right)
Definition: game.h:67
void Game_RegisterPlayer2Receiver(void(*rx)(uint8_t))
Register Player 2 UART Channel.
Definition: game.c:164
Char Object.
Definition: game.h:65
int last
flag to keep track of the last node in the list (i.e. 1 if last 0 if not)
Definition: game.h:88
void Game_Printf(char *str,...)
Definition: game.c:295
void Game_Player1Printf(char *str,...)
Definition: game.c:319
void Game_DrawRect(char x_min, char y_min, char x_max, char y_max)
Definition: game.c:374
void Game_CursorXY(char x, char y)
Cursor Position XY.
Definition: game.c:281
void Game_UnregisterPlayer2Receiver(void(*rx)(uint8_t))
Unregister Player 2 UART Channel receiver.
Definition: game.c:172
void Game_HideCursor(void)
Hide the cursor for player 1 (and player2 if a two player game)
Definition: game.c:347
void Game_ClearScreen(void)
Definition: game.c:370
char x_next_node
x coordinate of next node in the list
Definition: game.h:85
void Game_RegisterCallback(uint8_t game_id, void(*callback)(int argc, char *argv[]))
Definition: game.c:134
char c
Displayed character ("sprite")
Definition: game.h:82
int data
additional data the node will hold. Usage depends on implementation.
Definition: game.h:89
term_color
Definition: terminal.h:27
void Game_GameOver(void)
let the game management module know that your game is over.
Definition: game.c:509
void Game_ScrollDown(void)
Definition: game.c:490
void Game_CharXY(char c, char x, char y)
Write a character to a coordinate of the terminal.
Definition: game.c:267
uint8_t skill
0-9 skill level of player
Definition: game.h:104
void Game_ScrollUp(void)
Definition: game.c:494
uint8_t game_id
Definition: game.c:91
void Game_Log(uint8_t game_id, char *str,...)
Definition: game.c:146
Linkable Char Object.
Definition: game.h:81
void Game_DrawTile(char *tile[], char x, char y)
Definition: game.c:360
void Game_ShowCursor(void)
Show the cursor for player 1 (and player2 if a two player game)
Definition: game.c:351
void Game_Bell(void)
Definition: game.c:498
char x
x position (increasing from left to right)
Definition: game.h:83