main
1#include <stdio.h>
2#include <stdlib.h>
3#include <unistd.h>
4#include <time.h>
5#include "world.h"
6
7void clear_screen(){
8 system("clear");
9}
10
11int env_fetch(char* env_name, int default_value) {
12 char *value = getenv(env_name);
13 return (value != NULL) ? atoi(value) : default_value;
14}
15
16void world_start(World *world) {
17 srand(time(NULL));
18 clear_screen();
19 printf("%d x %d world\n", world->width, world->height);
20 sleep(2);
21
22 World *new_world = world;
23 int i = 0;
24
25 while(true) {
26 printf("GENERATION: %d\n", i);
27 world_print(new_world);
28 World *tmp = world_evolve(new_world);
29 world_destroy(new_world);
30 new_world = tmp;
31 sleep(1);
32 clear_screen();
33 ++i;
34 }
35}
36
37int main(int argc, char **argv) {
38 int width = env_fetch("COLUMNS", 5);
39 int height = env_fetch("LINES", width);
40
41 world_start(world_random(width, height));
42 return 0;
43}