Small snake game in C
Commit 6d1789094602
tarball1 file changed+15-7
@@ -59,7 +59,7 @@ selected new_fruit(char board[HEIGHT][WIDTH][STRING_LEN]);
5959
6060
bool draw_menu(main_menu menu, struct winsize window_size);6161
62
-void draw_board(char board[HEIGHT][WIDTH][STRING_LEN],62
+bool draw_board(char board[HEIGHT][WIDTH][STRING_LEN],6363
struct winsize window_size, bool redraw);6464
void draw_pause(struct winsize window_size);6565
@@ -282,17 +282,14 @@ int main(int argc, char *args[]) {
282282
283283
paused = true;284284
285
+ draw_board(board, current_size, true);286
+285287
if (current_size.ws_row < ACTUAL_HEIGHT ||286288
current_size.ws_col < ACTUAL_WIDTH) {287289
too_small = true;288
-289
- printf("\033[2J\033[HToo small\n");290
- printf("Min width: %i & Min height: %i\n", ACTUAL_WIDTH,291
- ACTUAL_WIDTH);292290
} else {293291
too_small = false;294292
295
- draw_board(board, current_size, true);296293
draw_pause(current_size);297294
}298295
}@@ -548,7 +545,7 @@ bool draw_menu(main_menu menu, struct winsize window_size) {
548545
return false;549546
}550547
551
-void draw_board(char board[HEIGHT][WIDTH][STRING_LEN],548
+bool draw_board(char board[HEIGHT][WIDTH][STRING_LEN],552549
struct winsize window_size, bool redraw) {553550
554551
uint8_t i, j;@@ -556,6 +553,14 @@ void draw_board(char board[HEIGHT][WIDTH][STRING_LEN],
556553
uint8_t actual_height = HEIGHT + 2;557554
uint8_t actual_width = WIDTH * 2 + 2;558555
556
+ if (actual_width > window_size.ws_col || actual_height > window_size.ws_row) {557
+558
+ printf("\033[2J\033[HToo small\n");559
+ printf("Min width: %i & Min height: %i\n", actual_height, actual_width);560
+561
+ return true;562
+ }563
+559564
uint8_t vertical_buffer = (window_size.ws_row - actual_height) >> 1;560565
uint8_t horizontal_buffer = (window_size.ws_col - actual_width) >> 1;561566
@@ -595,7 +600,10 @@ void draw_board(char board[HEIGHT][WIDTH][STRING_LEN],
595600
for (i = 0; i < WIDTH; i++)596601
printf("--");597602
printf("+");603
+598604
fflush(stdout);605
+606
+ return false;599607
}600608
601609
void draw_pause(struct winsize window_size) {