diff options
| author | Emil Williams | 2024-07-24 20:31:21 +0000 |
|---|---|---|
| committer | Emil Williams | 2024-07-24 20:31:21 +0000 |
| commit | f1d4d8bcf9bf5ac28413c43508a71757d7804d64 (patch) | |
| tree | fe26c61f9fcfbe45b0f9e9e35c6642a2662ec052 /life.c | |
| parent | 55c146c9276b4727adcc55e75a4304bf94f08f96 (diff) | |
| download | emil-life-f1d4d8bcf9bf5ac28413c43508a71757d7804d64.tar.xz emil-life-f1d4d8bcf9bf5ac28413c43508a71757d7804d64.tar.zst | |
Diffstat (limited to 'life.c')
| -rw-r--r-- | life.c | 34 |
1 files changed, 23 insertions, 11 deletions
@@ -9,21 +9,32 @@ #include <time.h> #include <unistd.h> -#define DELC static inline +/* defaults */ -/* nearness mask, life mask */ -#define LIFE_NEAR_MASK ((1 << 4) - 1) -#define LIFE_MASK (32) -/* life nearness function */ -#define life_near life_near_lim +#define DEFAULT_GRID_SIZE "20" +#define DEFAULT_WAIT 4 +#define DEFAULT_MAX_STEP -1 + +/* symbols used */ + +char symbol [] = " O."; +/* ... */ + +/* maps to symbol */ enum { LIFE_NONE, LIFE_ALIVE, LIFE_DEAD }; -char symbol [] = " O."; +#define DELC static inline + +/* nearness mask, life mask */ +#define LIFE_NEAR_MASK ((1 << 4) - 1) +#define LIFE_MASK (32) +/* life nearness function */ +#define life_near life_near_lim /* tty */ @@ -229,18 +240,19 @@ int main (int argc, char ** argv) { if ( argc >= 2 && (strcmp (argv [1], "-h") == 0 || strcmp (argv [1], "--help") == 0)) { - printf ("%s [GRID SIZE] [WAIT BETWEEN EACH STEP=4] [MAX STEP=-1]\n", argv [0]); + printf ("%s [GRID SIZE=%s] [WAIT BETWEEN EACH STEP=%d] [MAX STEP=-%d]\n", + argv [0], DEFAULT_GRID_SIZE, DEFAULT_WAIT, DEFAULT_MAX_STEP); return 1; } - char * rect = argc >= 2 ? argv [1] : "20"; + char * rect = argc >= 2 ? argv [1] : DEFAULT_GRID_SIZE; board_t * b = board_alloc_text (rect); board_randomize (b, 5); board_eq_filter (b, 1); - int wait = argc >= 3 ? atoi (argv [2]) : 4; - int step = argc >= 4 ? atoi (argv [3]) : -1; + int wait = argc >= 3 ? atoi (argv [2]) : DEFAULT_WAIT; + int step = argc >= 4 ? atoi (argv [3]) : DEFAULT_MAX_STEP; #ifndef NDEBUG life_debug_near (b, 0, 0); |
