Page 1 of 1

Some Help.

Posted: Sat Aug 03, 2013 1:06 am
by Xaos
So, I'm having some issues. Here's my code...


Code: Select all

<?php
$p1stamina=100;
$p1punch=7;
$p1kick=7;
$p1elbow=7;
$p1knee=7;
$p1punchD=7;
$p1kickD=7;
$p1closeD=7;
$p1punchT=50;
$p1elbowT=50;
$p1kneeT=50;
$p1distanceT=50;
$p1tightT=50;
$p1punchHeadT=50;
$p1kickHeadT=50;
$p1kickBodyT=50;
$p1head=100;
$p1body=100;
$p1legs=100;
$p1clinch_punch=7;
$p1clinch_kick=7;
$p1clinchGrapple=7;
$p1clinchD=7;
$p1clinchGrappleD=7;
$p1clinchStrikeT=50;
$p1clinchPunchT=50;
$p1clinchPheadT=50;
$p1clinchKheadT=50;
$p1clinchPosT=50;
$p1StrikeT=50;
$p2stamina=100;
$p2punch=7;
$p2kick=7;
$p2elbow=7;
$p2knee=7;
$p2punchD=7;
$p2kickD=7;
$p2closeD=7;
$p2punchT=50;
$p2elbowT=50;
$p2kneeT=50;
$p2distanceT=50;
$p2tightT=50;
$p2punchHeadT=50;
$p2kickHeadT=50;
$p2kickBodyT=50;
$p2head=100;
$p2body=100;
$p2legs=100;
$p2clinch_punch=7;
$p2clinch_kick=7;
$p2clinchGrapple=7;
$p2clinchD=7;
$p2clinchGrappleD=7;
$p2clinchStrikeT=50;
$p2clinchPunchT=50;
$p2clinchPheadT=50;
$p2clinchKheadT=50;
$p2clinchPosT=50;
$p2StrikeT=50;

function stand($stamina,$punch,$kick,$elbow,$knee,$punchD,$kickD,$closeD,$punchT,$elbowT,$kneeT,$distanceT,$tightT,$punchHeadT,$kickHeadT,$kickBodyT,$head,$body,$legs){
     global $stamina;
     $distance_roll = rand(1,100); //100 being farther away, 1 being close
     if($distance_roll <= $distanceT){
      echo "Fighters keep their distance</br>";
      $punch_roll = rand(1,100);  // 100 being punch, 1 being kick
      if($punch_roll <= $punchT){
        $punchhead_roll = rand(1,100); //100 being head, 1 being body
        if($punchhead_roll <= $punchHeadT){
        echo "Head Punch</br>";
        $damage = rand(1,$punch) - rand(1,$punchD);
        if($damage > 0){
        $stamina = $stamina - $damage;
        $head = $head - $damage;
        echo "Damage was " . $damage . "</br>"  ;
        echo "Stamina is now " . $stamina . "</br>";
        echo "Head Health is now " . $head . "</br>";
        return $head;
        }else{
          echo "No Damage</br>";
        }
        }else{
          echo "Body Punch</br>";
          $damage = rand(1,$punch) - rand(1,$punchD);
        if($damage > 0){
        $stamina = $stamina - $damage;
        $body = $body - $damage;
        echo "Damage was " . $damage . "</br>"  ;
        echo "Stamina is now " . $stamina . "</br>";
        echo "Body Health is now " . $body . "</br>";
        return $head;
        }else{
          echo "No Damage</br>";
        }
        }

      }else{
        $kick_roll = rand(1,100); //100 being head, 1 being other
        $kickleg_roll = rand(1,100);
        if($kick_roll <= $kickHeadT){
          echo "Head Kick</br>";
           $damage = rand(1,$kick) - rand(1,$kickD);
        if($damage > 0){
        $stamina = $stamina - $damage;
        $head = $head - $damage;
        echo "Damage was " . $damage . "</br>" ;
        echo "Stamina is now " . $stamina . "</br>";
        echo "Head Health is now " . $head . "</br>";
        return $head;
        }else{
          echo "No Damage</br>";
        }
        }elseif($kickleg_roll <= $kickBodyT){
          echo "Body Kick</br>";
           $damage = rand(1,$kick) - rand(1,$kickD);
        if($damage > 0){
        $stamina = $stamina - $damage;
        $body = $body - $damage;
        echo "Damage was " . $damage . "</br>" ;
        echo "Stamina is now " . $stamina . "</br>";
        echo "Body Health is now " . $body . "</br>";
        return $head;
        }else{
          echo "No Damage</br>";
        }
        }else{
          echo "Leg Kick</br>";
          $damage = rand(1,$kick) - rand(1,$kickD);
          if($damage > 0){
            $stamina = $stamina - $damage;
            $legs = $legs - $damage;
            echo "Damage was " . $damage . "</br>" ;
        echo "Stamina is now " . $stamina . "</br>";
        echo "Body Health is now " . $body . "</br>";
        return $head;
        }else{
          echo "No Damage</br>";
        }
          }
        }
      }else{
        echo "Fighters in close</br>";
        $tight_type_roll = rand(1,100); //100 being upper strikes, 1 being lower
         if($tight_type_roll <= $tightT){
      $elbow_roll = rand(1,100);   // 100 being elbow, 1 being tight/short punches
      if($elbow_roll <= $elbowT){
      $punchhead_roll = rand(1,100);
      if($punchhead_roll <= $punchHeadT){
        echo "Head Elbow</br>";
        $damage = rand(1,$elbow) - rand(1,$closeD);
        if($damage > 0){
        $stamina = $stamina - $damage;
        $head = $head - $damage;
        $body = $body - $damage;
        echo "Damage was " . $damage . "</br>";
        echo "Stamina is now " . $stamina . "</br>" ;
        echo "Head Health is now " . $head . "</br>";
        return $head;
        }else{
          echo "No Damage</br>";
        }
      }else{
        echo "Body Elbow</br>";
        $damage = rand(1,$elbow) - rand(1,$closeD);
        if($damage > 0){
        $stamina = $stamina - $damage;
        $body = $body - $damage;
        echo "Damage was " . $damage . "</br>";
        echo "Stamina is now " . $stamina . "</br>" ;
        echo "Body Health is now " . $body . "</br>";
        return $head;
        }else{
          echo "No Damage</br>";
        }
      }

      }else{
        $punchhead_roll = rand(1,100);
      if($punchhead_roll <= $punchHeadT){
        echo "Short Head Punch</br>";
        $damage = rand(1,$punch) - rand(1,$closeD);
         if($damage > 0){
        $stamina =$stamina - $damage;
        $head = $head - $damage;
        echo "Damage was " . $damage . "</br>" ;
        echo "Stamina is now " . $stamina . "</br>";
        echo "Head Health is now " . $head . "</br>";
        return $head;
         }else{
           echo "No Damage</br>";
         }

      }else{
        echo "Short Body Punch</br>";
        $damage = rand(1,$punch) - rand(1,$closeD);
         if($damage > 0){
        $stamina =$stamina - $damage;
        $body = $body - $damage;
        echo "Damage was " . $damage . "</br>" ;
        echo "Stamina is now " . $stamina . "</br>";
        echo "Body Health is now " . $body . "</br>";
        return $head;
         }else{
           echo "No Damage</br>";
         }
      }
      }

      }else{
      $kick_roll = rand(1,100);
      $knee_roll = rand(1,100); //100 being knees, 1 being tight kick
      if($knee_roll <= $kneeT){
        if($kick_roll <= $kickHeadT){
        echo "Head Knee</br>";
        $damage = rand(1,$knee) - rand(1,$closeD);
         if($damage > 0){
        $stamina = $stamina - $damage;
        $head = $head - $damage;
        echo "Damage was " . $damage . "</br>" ;
        echo "Stamina is now " . $stamina . "</br>";
        echo "Head Health is now " . $head . "</br>";
        return $head;
         }else{
           echo "No Damage</br>";
         }
        }else{
          echo "Body Knee</br>";
          $damage = rand(1,$knee) - rand(1,$closeD);
         if($damage > 0){
        $stamina = $stamina - $damage;
        $body = $body - $damage;
        echo "Damage was " . $damage . "</br>" ;
        echo "Stamina is now " . $stamina . "</br>";
        echo "Body Health is now " . $body . "</br>";
        return $head;
         }else{
           echo "No Damage</br>";
         }
        }

      }else{
      $kick_roll = rand(1,100);
      if($kick_roll <= $kickHeadT){
        echo "Tight Body Kick</br>";
        $damage = rand(1,$kick) - rand(1,$closeD);
         if($damage > 0){
        $stamina = $stamina - $damage;
        $body = $body - $damage;
        echo "Damage was " . $damage . "</br>";
        echo "Stamina is now " . $stamina . "</br>";
        echo "Body Health is now " . $body . "</br>";
        return $head;
         }else{
           echo "No Damage</br>";
         }
      }else{
        echo "Tight Leg Kick</br>";
        $damage = rand(1,$kick) - rand(1,$closeD);
         if($damage > 0){
        $stamina = $stamina - $damage;
        $legs = $legs - $damage;
        echo "Damage was " . $damage . "</br>";
        echo "Stamina is now " . $stamina . "</br>";
        echo "Leg Health is now " . $legs . "</br>";
        return $head;
         }else{
           echo "No Damage</br>";

         }
      }

      }
      }
      } return $stamina;
      }

function clinch($stamina,$clinch_punch,$clinch_kick,$elbow,$knee,$clinchGrapple,$clinchD,$clinchGrappleD,$clinchStrikeT,$clinchPunchT,$clinchPheadT,$clinchKheadT,$clinchPosT,$head,$legs,$body){
global $stamina;
$clinchS_roll = rand(1,100); // 100 being always strike, 1 being grapple
if($clinchS_roll <= $clinchStrikeT){
  $clinchpunch_roll = rand(1,100);  //100 being kick, 1 being punch
  if($clinchpunch_roll <= $clinchPunchT){
    $clinchP_headroll = rand(1,100);  //100 being head, 1 being body
    if($clinchP_headroll <= $clinchPheadT){
    echo "Clinch Head Punch</br>";
    $damage = rand(1,$clinch_punch) - rand(1,$clinchD);
    if($damage > 0){
    $stamina = $stamina - $damage;
    $head = $head - $damage;
    echo "Damage was " . $damage . "</br>";
    echo "Stamina is now " . $stamina . "</br>";
    echo "Head Health is now " . $head . "</br>";
    }else{
      echo "No Damage";
      }
      }else{
      echo "Clinch Body Punch</br>";
      $damage = rand(1,$clinch_punch) - rand(1,$clinchD);
    if($damage > 0){
    $stamina = $stamina - $damage;
    $body = $body - $damage;
    echo "Damage was " . $damage . "</br>";
    echo "Stamina is now " . $stamina . "</br>";
    echo "Head Health is now " . $body . "</br>";
    }else{
      echo "No Damage";
    }
  }
  }else{
    $clinchK_headroll = rand(1,100); //100 being head, 1 being body
    if($clinchK_headroll <= $clinchKheadT){
    echo "Clinch Head Kick</br>";
    $damage = rand(1,$clinch_kick) - rand(1,$clinchD);
    if($damage > 0){
    $stamina = $stamina - $damage;
    $head = $head - $damage;
    echo "Damage was " . $damage . "</br>";
    echo "Stamina is now " . $stamina . "</br>";
    echo "Head Health is now " . $head . "</br>";

  }else{
    echo "No Damage";
    }

    }else{
    echo "Clinch Body Kick</br>";
    $damage = rand(1,$clinch_kick) - rand(1,$clinchD);
    if ($damage > 0){
    $stamina = $stamina - $damage;
    $body = $body - $damage;
    echo "Damage was " . $damage . "</br>";
    echo "Stamina is now " . $stamina . "</br>";
    echo "Head Health is now " . $body . "</br>";
  }else{
    echo "No Damage";
    }
  }
  }
  }
  else{
    $clinchPos_roll = rand(1,100); //100 being new position, 1 being stay
    if($clinchPos_roll <= $clinchPosT){
      echo "Tries to gain new position!</br>";
      $wrest = rand(1,$clinchGrapple) - rand(1,$clinchGrappleD);
      if($wrest > 0){
        echo "New Position Gained!</br>";
      }else{
        echo "Transition Failed!</br>";
      }
    }else{
      echo "Holds position!</br>";
  }
}
  return $stamina;
  }


function fight($stamina,$punch,$kick,$elbow,$knee,$punchD,$kickD,$closeD,$punchT,$elbowT,$kneeT,$distanceT,$tightT,$punchHeadT,$kickHeadT,$kickBodyT,$head,$body,$legs,$clinch_punch,$clinch_kick,$clinchGrapple,$clinchD,$clinchGrappleD,$clinchStrikeT,$clinchPunchT,$clinchPheadT,$clinchKheadT,$clinchPosT,$StrikeT){
$p1stamina = 100;
$p2stamina = 100;
$strikeroll = rand(1,100);
if($strikeroll <= $StrikeT){
stand($stamina,$punch,$kick,$elbow,$knee,$punchD,$kickD,$closeD,$punchT,$elbowT,$kneeT,$distanceT,$tightT,$punchHeadT,$kickHeadT,$kickBodyT,$head,$body,$legs);
}else{
clinch($stamina,$clinch_punch,$clinch_kick,$elbow,$knee,$clinchGrapple,$clinchD,$clinchGrappleD,$clinchStrikeT,$clinchPunchT,$clinchPheadT,$clinchKheadT,$clinchPosT,$head,$legs,$body);
 }
}

  $p1stamina = 100;
  $p2stamina = 100;
while($p1stamina > 0 && $p2stamina > 0){
  $roll = rand(0,1);
  if($roll == 0){
    echo "P1 Attack</br>";
    fight($p2stamina,$p1punch,$p1kick,$p1elbow,$p1knee,$p2punchD,$p2kickD,$p2closeD,$p1punchT,$p1elbowT,$p1kneeT,$p1distanceT,$p1tightT,$p1punchHeadT,$p1kickHeadT,$p1kickBodyT,$p2head,$p2body,$p2legs,$p1clinch_punch,$p1clinch_kick,$p1clinchGrapple,$p2clinchD,$p2clinchGrappleD,$p1clinchStrikeT,$p1clinchPunchT,$p1clinchPheadT,$p1clinchKheadT,$p1clinchPosT,$p1StrikeT);
  if($p2stamina <= 0){
    echo "P2 Dead";
  }
  }else{
    echo "P2 Attack</br>";
    fight($p1stamina,$p2punch,$p2kick,$p2elbow,$p2knee,$p1punchD,$p1kickD,$p1closeD,$p2punchT,$p2elbowT,$p2kneeT,$p2distanceT,$p2tightT,$p2punchHeadT,$p2kickHeadT,$p2kickBodyT,$p1head,$p1body,$p1legs,$p2clinch_punch,$p2clinch_kick,$p2clinchGrapple,$p1clinchD,$p1clinchGrappleD,$p2clinchStrikeT,$p2clinchPunchT,$p2clinchPheadT,$p2clinchKheadT,$p2clinchPosT,$p2StrikeT);
  if($p1stamina <= 0){
    echo "P1 Dead";
  }
  }
  }
?>
Yeah its a bit much (and the var declarations are obv just hard code testing). But the issue is the bottom, kinda. When the while starts, it makes the stamina for both players 0, instead of it being 100, so its an infinite loop and doesn't run right. Help?

Re: Some Help.

Posted: Sat Aug 03, 2013 2:15 am
by Jackolantern
I am trying to track down the cause, but I can say you will save yourself a TON of typing if you wrapped up all those values into classes, even just for testing ;)

Re: Some Help.

Posted: Sat Aug 03, 2013 2:17 am
by Xaos
Jackolantern wrote:I am trying to track down the cause, but I can say you will save yourself a TON of typing if you wrapped up all those values into classes, even just for testing ;)
Eh, i just copy+pasted the stuff into a diff file and just did Ctrl+R to change from $p1 to $p2,. lol