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

  1. #include "../h/rccl.h"
  2. #include "../h/rtc.h"
  3. #include "../h/umac.h"
  4.  
  5. extern struct how how;
  6.  
  7. int sensor;
  8.  
  9. pumatask()
  10. {
  11.     TRSF_PTR z, b1, b2, fing, fins, over;
  12.     POS_PTR  p1, p2, get;
  13.     int fingfn();
  14.     int q;
  15.  
  16.     fing = newtrans("FING",fingfn);
  17.     Rot(fing, zunit, -90.);
  18.     fins = gentr_rot("FINS", 0., 0., 0., zunit, -90.);
  19.     z = gentr_rot("Z",  0.,  0., 864., zunit, 0.);
  20.     b1 = gentr_rot("B1", 600. ,-300., 450., yunit, 180.);
  21.     b2 = gentr_rot("B2", 600. , 300., 450., yunit, 180.);
  22.     over = gentr_rot("OVER", 600., 0., 600., yunit, 180.);
  23.  
  24.     p1 = makeposition("P1" , z, t6, fins, EQ, b1, TL, fins);
  25.     p2 = makeposition("P2" , z, t6, fing, EQ, b2, TL, fing);
  26.     get = makeposition("GET", z, t6, EQ, over, TL, t6);
  27.  
  28.  
  29.     sensor = adcopen(7);
  30.  
  31.     setmod('c');
  32.     for (; ; ) {
  33.         setvel(400, 300);
  34.         move(get);
  35.         move(p1);
  36.         setvel(100, 100);
  37.         sample(15);
  38.         move(p2);
  39.         sample(30);
  40.         printf("more ?"); QUERY(q); if (q == 'n') break;
  41.     }
  42.     setvel(400, 300);
  43.     setmod('j');
  44.     move(park);
  45. }
  46.  
  47. #define CV      .010
  48.  
  49. fingfn(t)
  50. TRSF_PTR t;
  51. {
  52.     t->p.z += (how.adcr[sensor] * CV - 3.) / 3.;
  53. }
  54.