]> wirehaze git hosting - lifeboot.git/commitdiff

wirehaze git hosting

add init_grid()
authorphfr24 <phfr24@inf.ufpr.br>
Sun, 26 Oct 2025 00:12:34 +0000 (21:12 -0300)
committerphfr24 <phfr24@inf.ufpr.br>
Sun, 26 Oct 2025 00:12:34 +0000 (21:12 -0300)
prototype.c

index c0dd9870b58627b7b7b23bb6634895d8af387b6f..405654e5741109820dc367ecc75be18917c47dc6 100644 (file)
@@ -1,4 +1,6 @@
 #include <stdio.h>
 #include <stdio.h>
+#include <stdlib.h>
+#include <time.h>
 
 #define COLS 80
 #define ROWS 25
 
 #define COLS 80
 #define ROWS 25
@@ -6,10 +8,14 @@
 #define DEAD ' '
 #define ALIVE '#'
 
 #define DEAD ' '
 #define ALIVE '#'
 
+#define INIT_RATIO 10
+
 #define STR(x) _STR(x)
 #define _STR(x) #x
 
 #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);
 
 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);
 }
 
     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 () {
 }
 
 int main () {
+  char grid[COLS * ROWS];
+
+  srand(time(0));
+  init_grid(grid);
+
   clearscr();
   print_grid(grid);
 
   clearscr();
   print_grid(grid);