move.c 476 B

12345678910111213141516171819
  1. # include "e.h"
  2. # include "y.tab.h"
  3. void move(int dir, int amt, int p)
  4. {
  5. double a;
  6. yyval = p;
  7. a = EM(amt/100.0, ps);
  8. printf(".ds %d ", yyval);
  9. if (dir == FWD || dir == BACK)
  10. printf("\\h'%s%gm'\\*(%d\n", (dir==BACK) ? "-" : "", a, p);
  11. else if (dir == UP)
  12. printf("\\v'-%gm'\\*(%d\\v'%gm'\n", a, p, a);
  13. else if (dir == DOWN)
  14. printf("\\v'%gm'\\*(%d\\v'-%gm'\n", a, p, a);
  15. dprintf(".\tmove %d dir %d amt %g; h=%g b=%g\n",
  16. p, dir, a, eht[yyval], ebase[yyval]);
  17. }