12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- enum{
- Brdsize = 9,
- Psize = Brdsize * Brdsize,
- Alldigits = 0x1FF,
- Digit = 0x0000000F,
- Solve = 0x000000F0,
- Allow = 0x0001FF00,
- MLock = 0x00020000,
- Line = 0,
- Thickline = 1,
- Border = Thickline*4,
- Square = 48,
- Maxx = Square*9 + 2*Border,
- Maxy = Maxx + Square,
- };
- typedef struct Cell {
- int digit;
- int solve;
- int locked;
- } Cell;
- Cell brd[Psize];
- Cell obrd[Psize];
- int board[Psize];
- /* game.c */
- int getrow(int cell);
- int getcol(int cell);
- int getbox(int cell);
- void setdigit(int cc, int num);
- int boxcheck(int *board);
- int rowcheck(int *board);
- int colcheck(int *board);
- int setallowed(int *board, int cc, int num);
- int chksolved(int *board);
- void attempt(int *pboard, int level);
- void clearp(void);
- void makep(void);
- /* sudoku.c */
- void drawbar(int digit, int selected);
- void drawcell(int x, int y, int num, Image *col);
- void drawblink(int cell);
- char *genlevels(int i);
- /* levels.c */
- void fprettyprintbrd(Cell *board);
- void fprintbrd(int fd, Cell *board);
- void floadbrd(int fd, Cell *board);
- void printboard(Cell *board);
- int loadlevel(char *name, Cell *board);
- void savegame(Cell *board);
- int loadgame(Cell *board);
|