aboutsummaryrefslogtreecommitdiff
path: root/src/alg.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/alg.h')
-rw-r--r--src/alg.h76
1 files changed, 69 insertions, 7 deletions
diff --git a/src/alg.h b/src/alg.h
index 6bee26b..51e66b0 100644
--- a/src/alg.h
+++ b/src/alg.h
@@ -8,12 +8,13 @@
8#include "cubetypes.h" 8#include "cubetypes.h"
9#include "utils.h" 9#include "utils.h"
10 10
11extern Moveset moveset_HTM; 11bool allowed_all(Move m);
12extern Moveset moveset_URF; 12bool allowed_HTM(Move m);
13extern Moveset moveset_eofb; 13bool allowed_URF(Move m);
14extern Moveset moveset_drud; 14bool allowed_eofb(Move m);
15extern Moveset moveset_htr; 15bool allowed_drud(Move m);
16 16bool allowed_htr(Move m);
17bool allowed_next_all(Move l2, Move l1, Move m);
17void append_alg(AlgList *l, Alg *alg); 18void append_alg(AlgList *l, Alg *alg);
18void append_move(Alg *alg, Move m, bool inverse); 19void append_move(Alg *alg, Move m, bool inverse);
19Move base_move(Move m); 20Move base_move(Move m);
@@ -34,10 +35,71 @@ Alg * on_inverse(Alg *alg);
34void print_alg(Alg *alg, bool l); 35void print_alg(Alg *alg, bool l);
35void print_alglist(AlgList *al, bool l); 36void print_alglist(AlgList *al, bool l);
36void swapmove(Move *m1, Move *m2); 37void swapmove(Move *m1, Move *m2);
38char * trans_string(Trans t); /* Here because similar to move_string, move? */
37Alg * unniss(Alg *alg); 39Alg * unniss(Alg *alg);
38 40
39void init_moveset(Moveset *ms); 41void init_moveset(Moveset *ms);
40void init_all_movesets(); 42
43/* Movesets ******************************************************************/
44
45#ifndef ALG_C
46
47extern Moveset moveset_HTM;
48extern Moveset moveset_URF;
49extern Moveset moveset_eofb;
50extern Moveset moveset_drud;
51extern Moveset moveset_htr;
52
53extern Moveset * all_ms[];
54
55#else
56
57Moveset
58moveset_HTM = {
59 .name = "HTM",
60 .allowed = allowed_HTM,
61 .allowed_next = allowed_next_all,
62};
63
64Moveset
65moveset_URF = {
66 .name = "URF",
67 .allowed = allowed_URF,
68 .allowed_next = allowed_next_all,
69};
70
71Moveset
72moveset_eofb = {
73 .name = "eofb",
74 .allowed = allowed_eofb,
75 .allowed_next = allowed_next_all,
76};
77
78Moveset
79moveset_drud = {
80 .name = "drud",
81 .allowed = allowed_drud,
82 .allowed_next = allowed_next_all,
83};
84
85Moveset
86moveset_htr = {
87 .name = "htr",
88 .allowed = allowed_htr,
89 .allowed_next = allowed_next_all,
90};
91
92Moveset *
93all_ms[] = {
94 &moveset_HTM,
95 &moveset_URF,
96 &moveset_eofb,
97 &moveset_drud,
98 &moveset_htr,
99 NULL
100};
101
102#endif
41 103
42#endif 104#endif
43 105

Generated with cgit - Back to sebastiano.tronto.net