From b2d9dcb6fea1e36af1ea41ab9bd45a44058dda81 Mon Sep 17 00:00:00 2001 From: Camden Dixie O'Brien Date: Sat, 22 Mar 2025 13:33:38 +0000 Subject: [PATCH] Set up solve state --- main.c | 26 ++++++++++++++++++++++++++ puzz.c | 2 ++ 2 files changed, 28 insertions(+) diff --git a/main.c b/main.c index 87405e3..dd3c873 100644 --- a/main.c +++ b/main.c @@ -5,10 +5,14 @@ #include "puzz.h" +#include #include #include +#include #include +enum { UNKNOWN = 0xfe }; + int main(void) { struct timeval tv; @@ -21,5 +25,27 @@ int main(void) gen(); print(); + puzz_t field; + memset(field, UNKNOWN, sizeof(field)); + + for (int y = 0; y < HEIGHT; ++y) { + for (int x = 0; x < WIDTH; ++x) { + char c; + switch (field[x][y]) { + case UNKNOWN: + c = '?'; + break; + case MINE: + c = 'x'; + break; + default: + c = '0' + field[x][y]; + break; + } + putchar(c); + } + putchar('\n'); + } + return 0; } diff --git a/puzz.c b/puzz.c index 73fa2ac..f86dbb7 100644 --- a/puzz.c +++ b/puzz.c @@ -42,9 +42,11 @@ void gen(void) void print(void) { + puts("Solution:"); for (int y = 0; y < HEIGHT; ++y) { for (int x = 0; x < WIDTH; ++x) putchar(soln[x][y] == MINE ? 'x' : '0' + soln[x][y]); putchar('\n'); } + putchar('\n'); }