summaryrefslogtreecommitdiffstats
path: root/main.c
blob: b79f16deac7dd6e4aacd5781f002b64e7732085b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#include <ncurses.h>
#include <stdlib.h>
#include "board.h"

int main(void) {
	initscr();			/* Start curses mode 		*/
    if(has_colors() == FALSE)
	{	endwin();
		printf("Your terminal does not support colour\n");
		return 1;
	}
    start_color();			/* Start color 			*/
    noecho();
    curs_set(0);
    /* End of ncurses init nonsense */ 

    int ch;
    bool reveal = false;
    generate_first_line(puzzle);
    generate_puzzle(puzzle);
    
    while (1) {
        print_puzzle(puzzle, reveal);

        ch = getch();
        switch (ch) {
            case 'q':
                endwin();
                return 1;
                break;
            case 'g':
                reveal = false;
                generate_first_line(puzzle);
                generate_puzzle(puzzle);
                break;
            case 'r':
                if ( reveal == true ) reveal = false;
                else reveal = true;
                break;
        }
        clear();
    };

    endwin();			/* End curses mode		  */
    return 0;
}