@@ 1,46 @@
+#include <u.h>
+#include <libc.h>
+#include <stdio.h>
+
+// FIXME: assumes vga font
+int
+getcols(void)
+{
+ int x1, y1, x2, y2;
+ FILE* fp;
+
+ fp = fopen("/dev/wctl", "r");
+
+ fscanf(fp, "%d %d %d %d", &x1, &y1, &x2, &y2);
+
+ fclose(fp);
+
+ return (x2 - x1) / 8 / 2 * 2 - 4;
+}
+
+void
+main(void)
+{
+ while(1)
+ {
+ int cols = getcols();
+ char* outbuf1 = calloc(cols + 1, 1);
+ char* outbuf2 = calloc(cols + 1, 1);
+ for (int i = 0; i < (cols / 2); i ++)
+ {
+ if (rand() % 2)
+ {
+ strcat(outbuf1, " /");
+ strcat(outbuf2, "/ ");
+ }
+ else
+ {
+ strcat(outbuf1, "\\ ");
+ strcat(outbuf2, " \\");
+ }
+ }
+ print("%s\n%s\n", outbuf1, outbuf2);
+ free(outbuf1);
+ free(outbuf2);
+ }
+}
@@ 1,50 @@
+#include <u.h>
+#include <libc.h>
+
+int score1, score2;
+
+void
+usage(void)
+{
+ fprint(2,"usage: %s [-p points]\n", argv0);
+ exits("usage");
+}
+
+void
+do_round(void)
+{
+
+}
+
+void
+main(int argc, char* argv[])
+{
+ int playto = 10;
+
+ ARGBEGIN{
+ case 'p':
+ playto = atoi(EARGF(usage()));
+ if (playto == 0)
+ usage();
+ break;
+ default:
+ usage();
+ break;
+ } ARGEND
+
+ if (argv[0])
+ usage();
+
+ print("playing to %d points\n", playto);
+
+ score1 = 0;
+ score2 = 0;
+
+ while (score1 < playto && score2 < playto)
+ do_round();
+
+ if (score1 > score2)
+ print("Player 1 wins!\n");
+ else
+ print("Player 2 wins!\n");
+}