aboutsummaryrefslogtreecommitdiff
path: root/src/alg.c
diff options
context:
space:
mode:
authorSebastiano Tronto <sebastiano.tronto@gmail.com>2021-12-17 22:03:33 +0100
committerSebastiano Tronto <sebastiano.tronto@gmail.com>2021-12-17 22:03:33 +0100
commit6df92db4d23dd6e2c3aba48caf1e0ea30265abb2 (patch)
treed798a2717ed9ee266e6070a3fd018de5dbcf1cd2 /src/alg.c
parent2f924f942bd6e7126e8f1d8692e475c95bd9fe82 (diff)
downloadnissy-6df92db4d23dd6e2c3aba48caf1e0ea30265abb2.tar.gz
nissy-6df92db4d23dd6e2c3aba48caf1e0ea30265abb2.zip
some progress
Diffstat (limited to 'src/alg.c')
-rw-r--r--src/alg.c37
1 files changed, 13 insertions, 24 deletions
diff --git a/src/alg.c b/src/alg.c
index ffe1679..d9317ab 100644
--- a/src/alg.c
+++ b/src/alg.c
@@ -110,36 +110,25 @@ allowed_next_HTM(Move l2, Move l1, Move m)
110static int 110static int
111axis(Move m) 111axis(Move m)
112{ 112{
113 Move i; 113 if (m == NULLMOVE)
114 114 return 0;
115 static bool initialized = false;
116 static int aux[NMOVES];
117
118 if (!initialized) {
119 for (i = 0; i < NMOVES; i++) {
120 if (i == NULLMOVE)
121 aux[i] = 0;
122 115
123 if (i >= U && i <= B3) 116 if (m >= U && m <= B3)
124 aux[i] = (i-1)/6 + 1; 117 return (m-1)/6 + 1;
125 118
126 if (i >= Uw && i <= Bw3) 119 if (m >= Uw && m <= Bw3)
127 aux[i] = (i-1)/6 - 2; 120 return (m-1)/6 - 2;
128 121
129 if (base_move(i) == E || base_move(i) == y) 122 if (base_move(m) == E || base_move(m) == y)
130 aux[i] = 1; 123 return 1;
131 124
132 if (base_move(i) == M || base_move(i) == x) 125 if (base_move(m) == M || base_move(m) == x)
133 aux[i] = 2; 126 return 2;
134 127
135 if (base_move(i) == S || base_move(i) == z) 128 if (base_move(m) == S || base_move(m) == z)
136 aux[i] = 3; 129 return 3;
137 }
138
139 initialized = true;
140 }
141 130
142 return aux[m]; 131 return -1;
143} 132}
144 133
145bool 134bool

Generated with cgit - Back to sebastiano.tronto.net