28 lines
528 B
C

/*
* 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 <stdint.h>
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