embeddedlibrary
reusable software modules for embedded systems
game.h
1 #ifndef _GAME_H_
2 #define _GAME_H_
3 
4 #include "terminal.h"
5 
55 typedef struct {
56  char c;
57  char x;
58  char y;
59  char status;
61 
70 typedef struct {
71  char name[16];
72  enum term_color color;
73  uint8_t skill;
75 
76 #ifndef TRANSPARENT_CHAR
77 #define TRANSPARENT_CHAR '`'
78 #endif
79 
93 uint8_t Game_Register(char * name, char * description,
94  void (*play)(void),
95  void (*help)(void));
96 
108 void Game_RegisterCallback(uint8_t game_id,
109  void (*callback)(int argc, char *argv[]));
110 
118 void Game_RegisterHighscoreCallback(uint8_t game_id,
119  void(*callback)(void));
120 
132 void Game_Log(uint8_t game_id, char * str, ...);
133 
141 void Game_EnableMultiPlayer(uint8_t game_id, uint8_t num);
142 
155 
168 
179 
189 
200 void Game_CharXY(char c, char x, char y);
201 
210 void Game_Player1CharXY(char c, char x, char y);
211 
220 void Game_Player2CharXY(char c, char x, char y);
221 
235 void Game_Printf(char * str, ...);
236 
249 void Game_Player1Printf(char * str, ...);
250 
265 void Game_Player2Printf(char * str, ...);
266 
271 void Game_HideCursor(void);
272 
277 void Game_ShowCursor(void);
278 
288 void Game_SetColor(enum term_color color);
289 
302 void Game_DrawTile(char *tile[], char x, char y);
303 
314 void Game_DrawRect(char x_min, char y_min, char x_max, char y_max);
315 
349 void Game_FillRect(char c, char x_min, char y_min, char x_max, char y_max);
350 
354 void Game_ScrollDown(void);
355 
359 void Game_ScrollUp(void);
360 
364 void Game_ClearScreen(void);
365 
373 uint8_t Game_IsTransmitting(void);
374 
380 void Game_Bell(void);
381 
383 #endif // _GAME_H_
char y
y position (increasing from top to bottom)
Definition: game.h:58
void Game_RegisterHighscoreCallback(uint8_t game_id, void(*callback)(void))
Definition: game.c:73
void(* charReceiver_t)(char)
Definition: charReceiverList.h:34
void Game_RegisterPlayer2Receiver(charReceiver_t rx)
Register Player 2 UART Channel.
Definition: game.c:95
uint8_t Game_IsTransmitting(void)
Definition: game.c:287
void Game_UnregisterPlayer2Receiver(charReceiver_t rx)
Unregister Player 2 UART Channel receiver.
Definition: game.c:103
char c
Displayed character ("sprite")
Definition: game.h:56
void Game_EnableMultiPlayer(uint8_t game_id, uint8_t num)
Definition: game.c:87
void Game_UnregisterPlayer1Receiver(charReceiver_t rx)
Unregister Player 1 UART Channel receiver.
Definition: game.c:99
void Game_Player2CharXY(char c, char x, char y)
Definition: game.c:173
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:49
void Game_Player1CharXY(char c, char x, char y)
Definition: game.c:169
char status
Status of object. Usage depends on implementation.
Definition: game.h:59
void Game_FillRect(char c, char x_min, char y_min, char x_max, char y_max)
Definition: game.c:264
void Game_Player2Printf(char *str,...)
Definition: game.c:199
Player info structure to hold player settings.
Definition: game.h:70
void Game_SetColor(enum term_color color)
Definition: game.c:228
char x
x position (increasing from left to right)
Definition: game.h:57
Char Object.
Definition: game.h:55
void Game_Printf(char *str,...)
Definition: game.c:177
void Game_Player1Printf(char *str,...)
Definition: game.c:192
void Game_DrawRect(char x_min, char y_min, char x_max, char y_max)
Definition: game.c:247
void Game_HideCursor(void)
Hide the cursor for player 1 (and player2 if a two player game)
Definition: game.c:220
void Game_ClearScreen(void)
Definition: game.c:243
void Game_RegisterCallback(uint8_t game_id, void(*callback)(int argc, char *argv[]))
Definition: game.c:68
term_color
Definition: terminal.h:19
void Game_RegisterPlayer1Receiver(charReceiver_t rx)
Definition: game.c:91
void Game_ScrollDown(void)
Definition: game.c:275
void Game_CharXY(char c, char x, char y)
Write a character to a coordinate of the terminal.
Definition: game.c:164
uint8_t skill
0-9 skill level of player
Definition: game.h:73
void Game_ScrollUp(void)
Definition: game.c:279
void Game_Log(uint8_t game_id, char *str,...)
Definition: game.c:78
void Game_DrawTile(char *tile[], char x, char y)
Definition: game.c:233
void Game_ShowCursor(void)
Show the cursor for player 1 (and player2 if a two player game)
Definition: game.c:224
void Game_Bell(void)
Definition: game.c:283