Jeg er igang med at lave en kamp sekvens. Men den stopper først når begge to er døde. Den skulle jo gerne stoppe, når den ene eller anden dør.
Koden ser sådan her du, håber der er en der kan se problemet.
<?php
# Bruges i atack funktionen.
$player_initativ = 1;
$enemy_initativ = 0;
#tekst stykker som bruges i funktionerne.
$ramte_ikke = array("Du slog forgæves et hul i luften.", "Kom igen, dit sværd slog i jorden.", "Ups, en misser.",
"Du må øve dig noget mere med det sværd.");
#Player stats temp.
$thaco = 15;
$damage = array("1,2,3,4,5,6,7,8,9,10");
$ac = 7;
$hp = 30;
#Enemy stats temp.
$enemythaco = 17;
$enemydamage = rand(1,6);
$enemyac = 5;
$enemyhp = 30;
function player_attack() {
global $thaco;
global $damage;
global $ac;
global $hp;
global $enemythaco;
global $enemydamage;
global $enemyac;
global $enemyhp;
global $ramte_ikke;
global $player_initativ;
global $enemy_initativ;
while ($enemyhp >= 0) {
echo "<br>Fjenden har $enemyhp hp.";
echo "<br>Du har $hp hp.";
$slag = rand(1,20);
echo "<br>Du slog $slag. ";
$to_hit = $thaco - $enemyac;
if ($slag >= $to_hit) {
echo "<br>Du ramte. ";
$rand = rand(1,10);
echo "Du skader $rand hp";
$enemyhp = ($enemyhp - $rand);
if ($enemyhp < 0) {
echo "<br>Fjenden er død.";
} else {
attack();
}
} else {
$rand = rand(0,3);
echo "Du ramte ikke.<br>$ramte_ikke[$rand]";
attack();
}
}
echo "<br><br><span style=\\"color:red;\\">Kampen er overstået.</span>";
}
function enemy_attack() {
global $thaco;
global $damage;
global $ac;
global $hp;
global $enemythaco;
global $enemydamage;
global $enemyac;
global $enemyhp;
global $ramte_ikke;
while ($hp >=0) {
echo "<br>Du har $hp hp.";
echo "<br>Fjenden har $enemyhp hp.";
$slag = rand(1,20);
echo "<br>Fjenden slog $slag. ";
$to_hit = $enemythaco - $ac;
if ($slag >= $to_hit) {
echo "<br>Fjenden ramte. ";
$rand = rand(1,6);
echo "Fjenden skader $rand hp";
$hp = ($hp - $rand);
if ($hp < 0) {
echo "<br>Du er død.";
} else {
attack();
}
} else {
echo "Fjenden ramte ikke.";
attack();
}
}
echo "<br><br><span style=\\"color:red;\\">Kampen er overstået.</span>";
}
function attack() {
global $hp;
global $enemyhp;
global $player_initativ;
global $enemy_initativ;
if ($player_initativ > $enemy_initativ) {
echo "$player_initativ og $enemy_initativ.";
$enemy_initativ ++;
$enemy_initativ ++;
player_attack();
} else {
echo "$player_initativ og $enemy_initativ.";
$player_initativ++;
$player_initativ++;
enemy_attack();
}
}
# Her er funktionerne færdige.
# Funktionerne afprøves, for at se om det virker.
attack();
echo "Det skulle gerne slutte med Kampen er overstået, dog kun en gang. Og en af dem skulle jo gerne overleve...";
?>
På forhånd tak for hjælpen....
Har ikke svar på alt, men tror det... 8)