Some Help.

Place for questions and answers for all newcomers and new coders. This is a free for all forum, no question is too stupid and to noob.
Post Reply
User avatar
Xaos
Posts: 940
Joined: Wed Jan 11, 2012 4:01 am

Some Help.

Post 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?
User avatar
Jackolantern
Posts: 10891
Joined: Wed Jul 01, 2009 11:00 pm

Re: Some Help.

Post 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 ;)
The indelible lord of tl;dr
User avatar
Xaos
Posts: 940
Joined: Wed Jan 11, 2012 4:01 am

Re: Some Help.

Post 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
Post Reply

Return to “Beginner Help and Support”