home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 1999 February / VPR9902A.BIN / FFILLY / UG / waza.tfy < prev    next >
Text File  |  1998-04-30  |  7KB  |  213 lines

  1.  
  2. #define DIST_PUNCH   110
  3. #define DIST_KICK    140
  4. #define DIST_TUCKLE  120
  5.  
  6.  
  7.     // PLAY ---------------------------------------------------------------
  8.   int playAction( int i, int an ) {
  9.     C_Koma[i] = C_Koma[i] + 1;
  10.     if      ( an == AN_MOUNTED ){ C_Koma[i] = 0; return; }
  11.     else if ( an == AN_MOVE_G ) { Action_Move(   i, C_Koma[i],  1 ); }
  12.     else if ( an == AN_MOVE_B ) { Action_Move(   i, C_Koma[i], -1 ); }
  13.     else if ( an == AN_DAMAGE ) { Action_Damage( i, C_Koma[i] ); }
  14.     else if ( an == AN_PUNCH )  { Action_Punch(  i, C_Koma[i] ); }
  15.     else if ( an == AN_KICK )   { Action_Kick(   i, C_Koma[i] ); }
  16.     else if ( an == AN_TUCKLE ) { Action_Tuckle( i, C_Koma[i] ); }
  17.     else if ( an == AN_MPUNCH ) { Action_MPunch( i, C_Koma[i] ); }
  18.   } // method end
  19.  
  20.     // BASE ---------------------------------------------------------------
  21.   int setStandBase( int i ) {
  22.     C_AN[i]   = AN_WAIT; setFrame( i, KM_BASE );
  23.     C_Koma[i] = 0;
  24.     C_Y[i]    = startY;
  25.   } // method end
  26.  
  27.     // BASE ---------------------------------------------------------------
  28.   int setMountFrame( int i, int n, int an, int kn ) {
  29.     C_AN[i]   = an; setFrame( i, kn );
  30.     C_Y[i]    = startY;
  31.     if ( i == 0 ) {
  32.       C_sX[i] = C_sX[i] + C_Type[n] * K_W[ KM_MOUNT ];
  33.     }
  34.     else {
  35.       C_sX[i] = C_sX[i] - C_Type[n] * K_W[ KM_MOUNT ];
  36.     }
  37.     setFrame( n, KM_MOUNTED ); C_AN[n] = AN_MOUNTED;
  38.   } // method end
  39.  
  40.     // fire ---------------------------------------------------------------
  41.   int setFire( int i, int n, int x, int y ) {
  42.     fire_On[i] = 1;
  43.     F_X[i] = x; F_Y[i] = y;
  44.     sound_On = WV_HIT;
  45.     C_Ene[n] = C_Ene[n] - C_Hakai[i];
  46.     if ( C_Ene[n] <= 0 ) { gStatus = GS_DEMO; winner = i; }
  47.   } // method end
  48.  
  49.     // Punch --------------------------------------------------------------
  50.   int setDamage( int i, int n ) {
  51.     if ( i == 0 ) { C_Koma[n] = 0; C_AN[n] = AN_DAMAGE; }
  52.     else          { C_Koma[n] = 1; C_AN[n] = AN_DAMAGE; Action_Damage( n, 1 ); }
  53.   } // method end
  54.  
  55.  
  56.     // set ----------------------------------------------------------------
  57.   int movePosition( int i, int mx, int my ){
  58.     if ( i == 0 ) { C_X[i]  = C_X[i] + mx; C_Y[i]  = C_Y[i] + my; }
  59.     else          { C_X[i]  = C_X[i] - mx; C_Y[i]  = C_Y[i] + my; }
  60.   } // method end
  61.  
  62.     // MOVE ---------------------------------------------------------------
  63.   int Action_Move( int i, int kn, int pm ) {
  64.     if      ( kn == 1 ) { movePosition( i, 35 * pm, 0 ); setFrame( i, KM_MOVE ); }
  65.     else if ( kn >= 2 ) { movePosition( i, 20 * pm, 0 ); setStandBase( i ); }
  66.   } // method end
  67.  
  68.     // Punch --------------------------------------------------------------
  69.   int Action_Damage( int i, int kn ) {
  70.     if      ( kn == 1 ) { movePosition( i, -10, 0 ); setFrame( i, KM_DAMAGE ); }
  71.     else if ( kn >= 2 ) { setStandBase( i ); }
  72.   } // method end
  73.  
  74.     // Punch --------------------------------------------------------------
  75.   int Action_Punch( int i, int kn ) {
  76.     int n, dist;
  77.     if ( i == 0 ) { n = 1; } else { n = 0; }
  78.  
  79.     if      ( kn == 1 ) {
  80.       setFB(i); movePosition( i, 50, 0 ); setFrame( i, KM_PUNCH );
  81.       dist = C_X[1] - C_X[0];
  82.       if ( dist > DIST_PUNCH - 50 &&  dist < DIST_PUNCH ) { // HIT
  83.         setDamage( i, n );
  84.         setFire( i, n, C_X[n], C_Y[n] - 75 );
  85.       }
  86.     }
  87.     else if ( kn >= 2 ) { setStandBase( i ); }
  88.   } // method end
  89.  
  90.     // Kick ---------------------------------------------------------------
  91.   int Action_Kick( int i, int kn ) {
  92.     int n, dist;
  93.     if ( i == 0 ) { n = 1; } else { n = 0; }
  94.  
  95.     if      ( kn == 1 ){
  96.       setFB(i); movePosition( i, 50, 0 ); setFrame( i, KM_KICK_0 );
  97.     }
  98.     else if ( kn == 2 ){
  99.       setFB(i); setFrame( i, KM_KICK_1 );
  100.       dist = C_X[1] - C_X[0];
  101.       if ( dist > DIST_KICK - 80 &&  dist < DIST_KICK ) { // HIT
  102.         setDamage( i, n );
  103.         setFire( i, n, C_X[n], C_Y[n] + 35 );
  104.       }
  105.     }
  106.     else if ( kn >= 3 ) { setStandBase( i ); }
  107.   } // method end
  108.  
  109.     // Tuckle -------------------------------------------------------------
  110.   int Action_Tuckle( int i, int kn ) {
  111.     int n, dist;
  112.     if ( i == 0 ) { n = 1; } else { n = 0; }
  113.  
  114.     if ( kn == 1 ){
  115.       setFB(i); movePosition( i, 50, 0 ); setFrame( i, KM_TUCKLE );
  116.       dist = C_X[1] - C_X[0];
  117.       if ( dist < DIST_TUCKLE && Random( 7 ) < 3 ) {
  118.         movePosition( n, -10, 0 ); setFrame( n, KM_DAMAGE );
  119.         C_Koma[n] = 0; C_AN[n] = AN_MOUNTED;
  120.         winner = i; isMount = 1;
  121.       }
  122.     }
  123.     else if ( kn >= 2 ) {
  124.       if ( winner == i ) {
  125.         setMountFrame( i, n, AN_MOUNT, KM_MOUNT ); C_Koma[i] = 0;
  126.         C_X[i] = C_X[n];
  127.       }
  128.       else { setStandBase( i ); }
  129.     }
  130.   } // method end
  131.  
  132.     // MPunch -------------------------------------------------------------
  133.   int Action_MPunch( int i, int kn ) {
  134.     int n;
  135.     if ( i == 0 ) { n = 1; } else { n = 0; }
  136.  
  137.     if ( kn == 1 ) {
  138.       setMountFrame( i, n, AN_MPUNCH, KM_MPUNCH );
  139.       if ( i == 0 ) { setFire( i, n, C_X[i] + 65, C_Y[i] + 65 ); }
  140.       else          { setFire( i, n, C_X[i] - 65, C_Y[i] + 65 ); }
  141.     }
  142.     else if ( kn >= 2 ){ setMountFrame( i, n, AN_MOUNT,  KM_MOUNT ); C_Koma[i] = 0; }
  143.   } // method end
  144.  
  145.  
  146.     // OFF ----------------------------------------------------------------
  147.   int Action_Demo( int pic, int i ) {  // i = WINNER
  148.     int n, end;
  149.     int xpi, xpn;
  150.     if( i == 0 ) { n = 1; } else { n = 0; }
  151.     end = 0;
  152.     mes( TIME ) {
  153.       step( 30 ) {
  154.         ,
  155.         setFB( i );
  156.         if ( isMount == 1 ) { xpi = -60; xpn =   0; }
  157.         else                { xpi =   0; xpn = -50; }
  158.         movePosition( i, xpi, 0 ); setFrame( i, KM_BASE );
  159.         movePosition( n, xpn, 0 ); setFrame( n, KM_DEF );
  160.         sound_On = WV_END;
  161.         updateBI( pic );
  162.         paintEndMes( pic );
  163.         ,
  164.         end = 1;
  165.         del_me;
  166.       }
  167.     }
  168.  
  169.     mes( KEY_DOWN ) { if ( end == 1 ) { del_us; endGame( pic ); del_me; } }
  170.     mes( LBDOWN )   { if ( end == 1 ) { del_us; endGame( pic ); del_me; } }
  171.   } // method end
  172.  
  173.     // MES ----------------------------------------------------------------
  174.   int paintEndMes( int pic ) {
  175.     int r, g, b;
  176.     int x, y;
  177.     str string;
  178.     if ( device < 2 ) {
  179.       if ( winner == LR ) {
  180.         string = "勝ちでしゅ、ワーイ!!";
  181.         r = 255; g = 0; b = 0;
  182.       }
  183.       else {
  184.         string = "負けちゃった、グスン....";
  185.         r = 0; g = 0; b = 255;
  186.       }
  187.     }
  188.     else {
  189.       if ( winner == 0 ) { string = "左が勝ちまちた"; }
  190.       else {               string = "右が勝ちまちた"; }
  191.       r = 255; g = 255; b = 255;
  192.     }
  193.     x = ASX + ASW/2 - StrLen( string ) * 20 / 2;
  194.     y = ASY + 30;
  195.     paintBText( pic, x, y, 40, r,g,b, string );
  196.     string = "KEYDOWN OR CLICK TO CLEAR";
  197.     x = ASX + ASW/2 - StrLen( string ) * 15 / 2;
  198.     y = y + 50;
  199.     paintBText( pic, x, y, 25, 255,255,255, string );
  200.   } // method end
  201.  
  202. /*
  203.     // MES ----------------------------------------------------------------
  204.   int paintRandomMes( int pic ){
  205.     mes( TIME ){
  206.       step( 10 ){
  207.         del_me;
  208.       }
  209.     }
  210.   } // method end
  211. */
  212.  
  213.