home *** CD-ROM | disk | FTP | other *** search
/ Between Heaven & Hell 2 / BetweenHeavenHell.cdr / 500 / 471 / rccl227 < prev    next >
Text File  |  1987-03-02  |  1KB  |  74 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.  
  37.         setvel(100, 50);
  38.         comply("fz", 10.);
  39.             move(p2);
  40.         lock("fz");
  41.  
  42.  
  43.         waitfor(p1->end);
  44.         if (p1->code != ONF) {
  45.             nextmove = YES;
  46.             printf("where is the table ?\n");
  47.             setvel(200, 100);
  48.             move (park);
  49.             return;
  50.         }
  51.  
  52.         move(p3);
  53.         move(p4);
  54.  
  55.         limit("fz", 20.);
  56.         setvel(50, 50);
  57.         move(p1);
  58.  
  59.         limit("dz", 3.);
  60.         comply("fz", 10.);
  61.             move(p5);
  62.         lock("fz");
  63.  
  64.         move(p4);
  65.  
  66.         waitfor(p5->end);
  67.         if (p5->code != OND) {
  68.             printf("where is the edge ?\n");
  69.         }
  70.     }
  71.     setvel(300, 50);
  72.     move(park);
  73. }
  74.