/* * Copyright (c) Camden Dixie O'Brien * SPDX-License-Identifier: AGPL-3.0-only */ #ifndef PUZZ_H #define PUZZ_H #define WIDTH 9 #define HEIGHT 9 #define NMINES 10 #include enum { MINE = 0xff, UNKNOWN = 0xfe, SAFE = 0xfd }; typedef uint8_t puzz_t[WIDTH][HEIGHT]; typedef enum { DEAD, OK, INCORRECT } status_t; void gen(void); void print(puzz_t puzz); void printsoln(void); status_t probe(int x, int y, puzz_t out); status_t check(puzz_t puzz); int countadj(puzz_t field, int x, int y, uint8_t val); #endif