home *** CD-ROM | disk | FTP | other *** search
/ Between Heaven & Hell 2 / BetweenHeavenHell.cdr / 500 / 471 / rccl242 < prev    next >
Text File  |  1987-03-02  |  2KB  |  75 lines

  1. #include "../h/rccl.h"
  2. #include "../h/umac.h"
  3.  
  4. pumatask()
  5. {
  6.     TRSF_PTR z, e , b1, b2, b3, b4, b5;
  7.     POS_PTR  p1, p2, p3, p4, p5;
  8.     int q;
  9.  
  10.     z = gentr_trsl("Z",  0.,  0., 864.);
  11.     e = gentr_trsl("E" , 0. , 0. , 170.);
  12.     b1 = gentr_rot("B1", 600. ,-100.,  300., yunit, 180.);
  13.     b2 = gentr_rot("B2", 600. , 200.,  300., yunit, 180.);
  14.     b3 = gentr_rot("B3", 600. , 200.,  400., yunit, 180.);
  15.     b4 = gentr_rot("B4", 600. ,-100.,  400., yunit, 180.);
  16.     b5 = gentr_rot("B5", 500. ,-100.,  300., yunit, 180.);
  17.  
  18.     p1   = makeposition("P1" , z, t6, e, EQ, b1, TL, e);
  19.     p2   = makeposition("P2" , z, t6, e, EQ, b2, TL, e);
  20.     p3   = makeposition("P3" , z, t6, e, EQ, b3, TL, e);
  21.     p4   = makeposition("P4" , z, t6, e, EQ, b4, TL, e);
  22.     p5   = makeposition("P5" , z, t6, e, EQ, b5, TL, e);
  23.  
  24.  
  25.     setmod('c');
  26.     setvel(200, 100);
  27.     move(p4);
  28.     for (; ; ) {
  29.         QUERY(q); if (q == 'n') break;
  30.  
  31.         p1->end = 0;
  32.  
  33.         setvel(20, 20);
  34.         limit("fz", 20.);
  35.         move(p1);
  36.         move(there);
  37.  
  38.         waitfor(p1->end);
  39.         if (p1->code != ONF) {
  40.             nextmove = YES;
  41.             printf("where is the table ?\n");
  42.             setvel(200, 100);
  43.             move (park);
  44.             return;
  45.         }
  46.  
  47.         setvel(100, 50);
  48.         comply("fz", 10.);
  49.             move(p2);
  50.         lock("fz");
  51.  
  52.  
  53.         move(p3);
  54.         move(p4);
  55.  
  56.         limit("fz", 20.);
  57.         setvel(50, 50);
  58.         move(p1);
  59.  
  60.         limit("dz", 3.);
  61.         comply("fz", 10.);
  62.             move(p5);
  63.         lock("fz");
  64.  
  65.         move(p4);
  66.  
  67.         waitfor(p5->end);
  68.         if (p5->code != OND) {
  69.             printf("where is the edge ?\n");
  70.         }
  71.     }
  72.     setvel(300, 50);
  73.     move(park);
  74. }
  75.