Lines Matching refs:mm

86 checkmove(struct move *mm, int ist)  in checkmove()  argument
101 mm->p[j] = mm->g[j] = -1; in checkmove()
108 save(mm, 1); in checkmove()
114 proll(mm); in checkmove()
129 n = rsetbrd(mm); in checkmove()
154 proll(mm); in checkmove()
159 n = dotable(mm, c, ist); in checkmove()
171 if (n == -1 && mvl >= mm->mvlim) in checkmove()
173 if (n == -1 && mvl < mm->mvlim - 1) in checkmove()
178 if (movokay(mm, mvl + 1)) { in checkmove()
180 movback(mm, mvl + 1); in checkmove()
182 proll(mm); in checkmove()
187 if (movokay(mm, mvl + 1)) { in checkmove()
189 movback(mm, mvl + 1); in checkmove()
193 ist = n = rsetbrd(mm); in checkmove()
203 dotable(struct move *mm, int c, int i) in dotable() argument
218 proll(mm); in dotable()
221 proll(mm); in dotable()
225 if (mm->p[mvl] == -1) in dotable()
226 mm->p[mvl] = c - '0'; in dotable()
228 mm->p[mvl] = mm->p[mvl] * 10 + c - '0'; in dotable()
232 if (mm->g[mvl] != -1) { in dotable()
233 if (mvl < mm->mvlim) in dotable()
235 mm->p[mvl] = mm->p[mvl - 1]; in dotable()
237 mm->g[mvl] = mm->p[mvl] + cturn * (c - '0'); in dotable()
238 if (mm->g[mvl] < 0) in dotable()
239 mm->g[mvl] = 0; in dotable()
240 if (mm->g[mvl] > 25) in dotable()
241 mm->g[mvl] = 25; in dotable()
245 if (mm->g[mvl] == -1) in dotable()
246 mm->g[mvl] = c - '0'; in dotable()
248 mm->g[mvl] = mm->g[mvl] * 10 + c - '0'; in dotable()
252 if (mvl < mm->mvlim) in dotable()
254 mm->p[mvl] = mm->g[mvl - 1]; in dotable()
258 if (mvl < mm->mvlim) in dotable()
272 proll(mm); in dotable()
278 mm->p[mvl] = bar; in dotable()
282 mm->g[mvl] = home; in dotable()
297 rsetbrd(struct move *mm) in rsetbrd() argument
304 mm->p[i] = mm->g[i] = -1; in rsetbrd()
306 if ((n = dotable(mm, cin[j], n)) < 0) in rsetbrd()