From 693fc5383745f0999d9fa5348c2a3d6ffc2f8e5e Mon Sep 17 00:00:00 2001 From: phfr24 Date: Sat, 25 Oct 2025 21:12:34 -0300 Subject: [PATCH] add init_grid() --- prototype.c | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/prototype.c b/prototype.c index c0dd987..405654e 100644 --- a/prototype.c +++ b/prototype.c @@ -1,4 +1,6 @@ #include +#include +#include #define COLS 80 #define ROWS 25 @@ -6,10 +8,14 @@ #define DEAD ' ' #define ALIVE '#' +#define INIT_RATIO 10 + #define STR(x) _STR(x) #define _STR(x) #x -char grid[COLS * ROWS] = { [0 ... (COLS*ROWS-1)] = ALIVE }; +static void clearscr() { + printf("\e[1;1H\e[2J"); +} static void print_row(char row[COLS]) { printf("%." STR(COLS) "s\n", row); @@ -20,11 +26,21 @@ static void print_grid(char grid[COLS * ROWS]) { print_row(grid + i * COLS); } -static void clearscr() { - printf("\e[1;1H\e[2J"); +static void init_grid(char grid[COLS * ROWS]) { + for (int i = 0; i < ROWS * COLS; i++) { + if (rand() % INIT_RATIO) + grid[i] = DEAD; + else + grid[i] = ALIVE; + } } int main () { + char grid[COLS * ROWS]; + + srand(time(0)); + init_grid(grid); + clearscr(); print_grid(grid); -- 2.54.0