summaryrefslogtreecommitdiffstats
path: root/hack/hack.invent.c
diff options
context:
space:
mode:
Diffstat (limited to 'hack/hack.invent.c')
0 files changed, 0 insertions, 0 deletions
int a; int test; test = (c == 'R'); while ((a = atmata[i].ch) != '.') { if (a == c || (test && a == '\n')) { switch (atmata[i].fcode) { case 1: wrboard(); if (tflag) { curmove(cturn == -1 ? 18 : 19, 0); proll(); writel("\t\t"); } else proll(); break; case 2: if (p[mvl] == -1) p[mvl] = c - '0'; else p[mvl] = p[mvl] * 10 + c - '0'; break; case 3: if (g[mvl] != -1) { if (mvl < mvlim) mvl++; p[mvl] = p[mvl - 1]; } g[mvl] = p[mvl] + cturn * (c - '0'); if (g[mvl] < 0) g[mvl] = 0; if (g[mvl] > 25) g[mvl] = 25; break; case 4: if (g[mvl] == -1) g[mvl] = c - '0'; else g[mvl] = g[mvl] * 10 + c - '0'; break; case 5: if (mvl < mvlim) mvl++; p[mvl] = g[mvl - 1]; break; case 6: if (mvl < mvlim) mvl++; break; case 7: if (tflag) curmove(20, 0); else writec('\n'); (void) text(help2); if (tflag) { curmove(cturn == -1 ? 18 : 19, 39); } else { writec('\n'); proll(); writel("\t\tMove: "); } break; case 8: p[mvl] = bar; break; case 9: g[mvl] = home; } if (!test || a != '\n') return (atmata[i].newst); else return (-6); } i++; } return (-5); } int rsetbrd(void) { int i, j, n; n = 0; mvl = 0; for (i = 0; i < 4; i++) p[i] = g[i] = -1; for (j = 0; j < ncin; j++) if ((n = dotable(cin[j], n)) < 0) return n; return (n); }