commit 105a4eb

pita  ·  2026-07-31 12:37:21 +0000 UTC
parent 3370d2a
what was i doing earlier
3 files changed,  +19, -27
M c/h.h
+3, -1
1@@ -1 +1,3 @@
2-print "cc -std=c89 -Werror -Wall -Wextra main.c"
3+print "cc -std=c89 -Werror -Wall -Wextra main.c"
4+wait 1
5+kill
M c/h.h
+8, -6
 1@@ -1,14 +1,16 @@
 2 /* fun */
 3-short grid[1024]; 
 4+#define w 64
 5+#define h 32
 6 int _main();
 7+short g[w*h]; 
 8 
 9 #define main(...) \
10   main(void) { \
11-    grid[1 * 32 + 0] = 1; \
12-    grid[2 * 32 + 1] = 1; \
13-    grid[0 * 32 + 2] = 1; \
14-    grid[1 * 32 + 2] = 1; \
15-    grid[2 * 32 + 2] = 1; \
16+    g[1 * w + 0] = 1; \
17+    g[2 * w + 1] = 1; \
18+    g[0 * w + 2] = 1; \
19+    g[1 * w + 2] = 1; \
20+    g[2 * w + 2] = 1; \
21     return _main(); \
22   }; \
23   int _main(void)
+8, -20
 1@@ -2,27 +2,15 @@
 2 #include <sys/select.h> 
 3 #include "h.h"
 4 
 5-int 
 6-main(void) 
 7+int
 8+main()
 9 {
10-  for (;;select(0,0,0,0,&(struct timeval){0,100000})) {
11-    printf("\033[2J\033[3J\033[H");
12-    int x,y,n,k,i;
13-
14-    for(y=32; y--; putchar(10))
15-      for(x=32; x--;) {
16-        n=0, k=9;
17-
18-        for(putchar(46-11*(grid[y*32+x]&1)); k--;)
19-          n += grid[((y+(k/3-1)+32)%32)*32
20-                   +((x+(k%3-1)+32)%32)]&1;
21-
22-        grid[y*32+x]|=(n==3||(grid[y*32+x]&1&&n==4))<<1;
23-      }
24-
25-    for (i = 1024; i--;)
26-      grid[i] >>= 1;
27+  int n,k,i,c;
28+  for(;;select(0,0,0,0,&(struct timeval){0,100000}),printf("\033[H")) {
29+    for(i=w*h;i--;g[i]|=(n==3||(c&&n==4))<<1, i%w||putchar(10))
30+      for(n=0,k=9,c=g[i]&1,putchar(46-11*c);k--;)
31+	n += g[((i/w+k/3+h-1)%h)*w+(i+k%3+w-1)%w]&1;
32+    for (i = w*h;i--;g[i]>>=1);
33   }
34-
35   return 0;
36 }