]>
git.gir.st - minesVIiper.git/blob - mines.h
4 #define SHORTHELP "%s [OPTIONS] [FIELDSPEC]\n"
9 " -q(uestion marks)\n" \
10 " -c(olored symbols)\n" \
11 " -d(ec charset symbols)\n" \
13 " WxH[xM] (width 'x' height 'x' mines)\n" \
14 " defaults to 30x16x99; mines default to ~20%%\n" \
17 " hjkl: move left/down/up/right\n" \
18 " bduw: move to next boundary\n" \
19 " ^Gg$: move to the left/bottom/top/right\n" \
20 " z: center cursor on minefield\n" \
23 " space:modeful cursor (either open or flag)\n" \
24 " a: toggle mode for space (open/flag)\n" \
25 " mX: set a mark for letter X\n" \
26 " `X: move to mark X (aliased to ')\n" \
27 " r: start a new game\n" \
32 unsigned m
:2; /* mine?1:killmine?2:0 */
33 unsigned o
:1; /* open?1:0 */
34 unsigned f
:2; /* flagged?1:questioned?2:0 */
35 unsigned n
:4; /* 0<= neighbours <=8 */
39 int m
; /* number of mines */
43 int f
; /* flags counter */
44 int t
; /* time of game start */
45 int p
[2]; /* cursor position {line, col} */
46 int s
; /* space mode */
48 int n
; /* new game? */
49 int c
; /* cheat mode? */
53 struct minescheme
* scheme
;
54 int mode
; /* allow flags? quesm? */
62 void fill_minefield (int, int);
63 void move_ph (int, int);
64 void move_hi (int, int);
65 void to_next_boundary (int l
, int c
, char direction
);
66 int getch (unsigned char*);
67 int getctrlseq (unsigned char*);
68 int everything_opened (void);
69 int wait_mouse_up (int, int);
70 void partial_show_minefield (int, int, int);
71 void show_minefield (int);
72 int get_neighbours (int, int, int);
73 int uncover_square (int, int);
74 void flag_square (int, int);
75 void quesm_square (int, int);
76 int choord_square (int, int);
77 int do_uncover (int*);
78 struct minecell
** alloc_array (int, int);
79 void free_field (void);
80 char* get_emoticon(void);
81 int screen2field_l (int);
82 int screen2field_c (int);
83 int field2screen_c (int);
84 int clicked_emoticon (unsigned char*);
86 int parse_fieldspec(char*);
87 void signal_handler (int signum
);
88 void signal_setup (void);
89 void timer_setup (int);
90 void raw_mode(int mode
);
103 enum fieldopenstates
{
119 /* for getctrlseq() */
125 CTRSEQ_MOUSE_LEFT
= -4,
126 CTRSEQ_MOUSE_MIDDLE
= -5,
127 CTRSEQ_MOUSE_RIGHT
= -6,
128 CTRSEQ_CURSOR_LEFT
= -7,
129 CTRSEQ_CURSOR_DOWN
= -8,
130 CTRSEQ_CURSOR_UP
= -9,
131 CTRSEQ_CURSOR_RIGHT
= -10,