]>
git.gir.st - solVItaire.git/blob - sol.h
7 CLU_A
, DIA_A
, HEA_A
, SPA_A
,
8 CLU_2
, DIA_2
, HEA_2
, SPA_2
,
9 CLU_3
, DIA_3
, HEA_3
, SPA_3
,
10 CLU_4
, DIA_4
, HEA_4
, SPA_4
,
11 CLU_5
, DIA_5
, HEA_5
, SPA_5
,
12 CLU_6
, DIA_6
, HEA_6
, SPA_6
,
13 CLU_7
, DIA_7
, HEA_7
, SPA_7
,
14 CLU_8
, DIA_8
, HEA_8
, SPA_8
,
15 CLU_9
, DIA_9
, HEA_9
, SPA_9
,
16 CLU_X
, DIA_X
, HEA_X
, SPA_X
,
17 CLU_J
, DIA_J
, HEA_J
, SPA_J
,
18 CLU_Q
, DIA_Q
, HEA_Q
, SPA_Q
,
19 CLU_K
, DIA_K
, HEA_K
, SPA_K
,
52 OK
, /*move successful*/
57 /* WARN: stock must always follow immediately after `TAB_*`! */
58 #define TAB_MAX (STOCK-1)
72 #define WASTE 0; /* need it for get_cmd(), but don't count it in NUM_PLACES */
73 #elif defined KLONDIKE
97 typedef signed char card_t
;
101 int opt
; /* klondike: foundation id; spider: move nth movable card */
103 const struct cursor no_hi
= {-1, -1};
107 int find_top(card_t
* pile
);
108 int first_movable(card_t
* pile
);
109 void turn_over(card_t
* pile
);
111 int is_consecutive (card_t
* pile
, int pos
);
114 card_t
stack_take(void);
115 int t2f(int from
, int to
, int opt
);
116 int w2f(int from
, int to
, int opt
);
117 int s2w(int from
, int to
, int opt
);
118 int w2s(int from
, int to
, int opt
);
119 int f2t(int from
, int to
, int opt
);
120 int w2t(int from
, int to
, int opt
);
121 int t2t(int from
, int to
, int opt
);
123 void remove_if_complete (card_t
* pile
);
124 int t2t(int from
, int to
, int opt
);
125 int s2t(int from
, int to
, int opt
);
127 int nop(int from
, int to
, int opt
);
128 int get_cmd (int* from
, int* to
, int* opt
);
130 int is_movable(card_t
* pile
, int n
);
131 void print_hi(int invert
, int grey_bg
, int bold
, char* str
);
132 void print_table(const struct cursor
* active
, const struct cursor
* inactive
);
134 void append_undo (int n
, int f
, int t
);
135 void screen_setup (int enable
);
136 void raw_mode(int enable
);