From c7b89aded5ff11fca31cddd907ac79d8013e9b66 Mon Sep 17 00:00:00 2001 From: Aaro Saila Date: Thu, 25 Jun 2026 23:20:02 +0300 Subject: [PATCH] changed some debugging functions to only compile when DEBUG is defined --- compile.sh | 2 +- src/BoardPiece.c | 14 +++++++++----- src/Snake.c | 35 ++++++++++++++++++++--------------- src/headers/BoardPiece.h | 7 ++++++- src/headers/Snake.h | 7 ++++++- src/main.c | 7 +++---- 6 files changed, 45 insertions(+), 27 deletions(-) diff --git a/compile.sh b/compile.sh index 5964279..2b21264 100755 --- a/compile.sh +++ b/compile.sh @@ -26,7 +26,7 @@ fi version=$(git rev-parse HEAD) oflag="-Og" -debug_flag="-ggdb" +debug_flag="-ggdb -DDEBUG" if [ $arg = "release" ]; then oflag="-O3" diff --git a/src/BoardPiece.c b/src/BoardPiece.c index 7f19070..cdd8a21 100644 --- a/src/BoardPiece.c +++ b/src/BoardPiece.c @@ -1,7 +1,13 @@ -#include - #include "BoardPiece.h" +bool pieces_collide(BoardPiece* piece1, BoardPiece* piece2) { + return piece1->x == piece2->x && piece1->y == piece2->y; +} + +#ifdef DEBUG + +#include + void board_piece_print_info(BoardPiece* piece, char* name) { printf("%s: {\n", name); printf(" x: %d\n", piece->x); @@ -10,6 +16,4 @@ void board_piece_print_info(BoardPiece* piece, char* name) { printf("}\n"); } -bool pieces_collide(BoardPiece* piece1, BoardPiece* piece2) { - return piece1->x == piece2->x && piece1->y == piece2->y; -} +#endif // DEBUG diff --git a/src/Snake.c b/src/Snake.c index 0570792..8b167b2 100644 --- a/src/Snake.c +++ b/src/Snake.c @@ -108,21 +108,6 @@ void snake_move(Snake* snake, const int width, const int height) { check_bounds(snake, width, height); } -void snake_print_info(const Snake* snake) { - printf("snake: {\n"); - printf(" parts: {\n"); - for (size_t i = 0; i < snake->length; i++) { - const BoardPiece part = snake->parts[i]; - printf(" { x: %d, y: %d }\n", part.x, part.y); - } - printf(" }\n"); - - printf(" max_length: %zu\n", snake->max_length); - printf(" length: %zu\n", snake->length); - printf(" dir: %c\n", snake->dir); - printf("}\n"); -} - void snake_change_direction(Snake* snake, const char direction) { snake->dir = direction; } @@ -211,3 +196,23 @@ void snake_add_part(Snake* snake) { }; snake->length++; } + +#ifdef DEBUG + +void snake_print_info(const Snake* snake) { + printf("snake: {\n"); + printf(" parts: {\n"); + for (size_t i = 0; i < snake->length; i++) { + const BoardPiece part = snake->parts[i]; + printf(" { x: %d, y: %d }\n", part.x, part.y); + } + printf(" }\n"); + + printf(" max_length: %zu\n", snake->max_length); + printf(" length: %zu\n", snake->length); + printf(" dir: %c\n", snake->dir); + printf("}\n"); +} + +#endif // DEBUG + diff --git a/src/headers/BoardPiece.h b/src/headers/BoardPiece.h index bae71bf..3a1e8ff 100644 --- a/src/headers/BoardPiece.h +++ b/src/headers/BoardPiece.h @@ -7,7 +7,12 @@ typedef struct { char vis_char; } BoardPiece; -void board_piece_print_info(BoardPiece* piece, char* name); bool pieces_collide(BoardPiece* piece1, BoardPiece* piece2); +#ifdef DEBUG + +void board_piece_print_info(BoardPiece* piece, char* name); + +#endif // DEBUG + #endif // BOARD_PIECE_H_ diff --git a/src/headers/Snake.h b/src/headers/Snake.h index 53f94ec..7874471 100644 --- a/src/headers/Snake.h +++ b/src/headers/Snake.h @@ -20,10 +20,15 @@ Snake snake_alloc( ); void snake_free(Snake* snake); void snake_move(Snake* snake, const int width, const int height); -void snake_print_info(const Snake* snake); void snake_change_direction(Snake* snake, const char direction); bool snake_collides(const Snake* snake, const BoardPiece* piece); bool snake_collides_with_tail(const Snake* snake); void snake_add_part(Snake* snake); +#ifdef DEBUG + +void snake_print_info(const Snake* snake); + +#endif // DEBUG + #endif // SNAKE_H_ diff --git a/src/main.c b/src/main.c index 167dc72..0aff111 100644 --- a/src/main.c +++ b/src/main.c @@ -13,7 +13,6 @@ #include "utils.h" #define TERMIOS 1 -#define DEBUG 0 #define MIN_SLEEP_TIME_MS 60 @@ -44,8 +43,8 @@ int main(int argc, char** argv) { // Screen init system("clear"); -#if DEBUG - long long frame = 0; +#ifdef DEBUG + unsigned long long frame = 0; #endif // DEBUG while (true) { @@ -89,7 +88,7 @@ int main(int argc, char** argv) { } } -#if DEBUG +#ifdef DEBUG printf("input: %c\n", input); printf("Frame: %lld\n", frame); printf("sleep_ms: %u\n", sleep_time);