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