1
Good morning, everyone.
With the help of the user Luan Peil I managed to make my algorithm a simulator of an RPG fight.
The problem is that when starting, it reports many variable errors (Undefined).
I wonder if someone could hide these messages or create the variable before in a way that doesn’t appear during the program.
<?php
if(isset($_GET["text"]))
{
$gamestart=0;
if($_GET["player"] != null)
{
$player = $_GET['player'];
}
else
{
$player = 100;
}
if($_GET["enemy"] != null)
{
$enemy = $_GET['enemy'];
}
else
{
$enemy = 100;
}
if($_GET["ecounter"] != null)
{
$ecounter = $_GET['ecounter'];
}
else
{
$ecounter = 1;
}
if($_GET["pcounter"] != null)
{
$pcounter = $_GET['pcounter'];
}
else
{
$pcounter = 1;
}
$dano = 15;
if(isset($_GET["action"])) {
if($ecounter <=3)
{
$action = rand(1, 4);
}
else
{
$action = rand(1, 3);
}
$ataque= $_GET["action"];
if($pcounter > 3 && $ataque== 4)
{
$ataque = 3;
}
if($action == 1 && $ataque == 1) { //Se ambos atacarem
$dano =15;
$enemy -= $dano;
$player -= $dano;
echo "<br>Você deu um ataque no seu inimigo. causando 15 de dano";
echo "<br>Ele te ataca de volta, causando 15 de dano.";
echo "<br>Você: ".$player."<br>Inimigo: ".$enemy;
}
elseif($action == 1 && $ataque == 2) { //Se vc atacar e o inimigo defender
$dano =15;
$player -= $dano / 2;
echo "<br>Você se defendeu, recebendo só metade do dano";
echo "<br>O inimigo te ataca, te dando 7,5 de dano.";
echo "<br>Você: ".$player."<br>Inimigo: ".$enemy;
}
elseif($action==1 && $ataque==3)
{
$dano = 15;
$player -= $dano;
$player = $player + 30;
if($player > 100)
{
$player = 100;
}
echo "<br>Ele te deu um ataque, causando 15 de dano.";
echo "<br>Você tomou uma poção, recuperando os 15 de dano e mais 15 de vida";
echo "<br>Você: ".$player."<br>Inimigo: ".$enemy;
}
elseif($action==1 && $ataque==4)
{
$dano = 40;
$enemy -= $dano;
$dano = 15;
$player -= $dano;
$pcounter++;
echo "<br>Ele te deu um ataque, causando 15 de dano.";
echo "<br>Você usou uma bola de fogo, causando 40 de dano";
echo "<br>Você: ".$player."<br>Inimigo: ".$enemy;
}
elseif($action == 2 && $ataque == 1) {
$dano =15;
$enemy -= $dano / 2;
echo "<br>Você ataca o inimigo, mas ele recebe metade do dano por se defender";
echo "<br>Você: ".$player."<br>Inimigo: ".$enemy;
}
elseif($action==2 && $ataque==2){
echo "<br>Ambos se defenderam ao mesmo tempo, nada acontece.";
echo "<br>Você: ".$player."<br>Inimigo: ".$enemy;
}
elseif($action==2 && $ataque==3)
{
$player = $player + 30;
if($player > 100)
{
$player = 100;
}
echo "<br>Ele se defendeu, recebendo só metade do dano.";
echo "<br>Mas você tomou uma poção, recuperando 30 de vida e tornando o bloqueio inútil.";
echo "<br>Você: ".$player."<br>Inimigo: ".$enemy;
}
elseif($action==2 && $ataque==4)
{
$pcounter++;
$dano =40;
$enemy -= $dano /2;
echo "Você disparou uma bola de fogo";
echo "<br>Ele se defendeu, recebendo só metade do dano";
echo "<br>Você: ".$player."<br>Inimigo: ".$enemy;
}
elseif($action==3 && $ataque==1)
{
$dano = 15;
$enemy -= $dano;
$enemy = $enemy + 30;
if($enemy > 100)
{
$enemy = 100;
}
echo "<br>Você te deu um ataque, causando 15 de dano.";
echo "<br>Ele tomou uma poção, recuperando 15 do dano e mais 15 de vida";
echo "<br>Você: ".$player."<br>Inimigo: ".$enemy;
}
elseif($action==3 && $ataque==2)
{
$enemy = $enemy + 30;
if($enemy > 100)
{
$enemy = 100;
}
echo "<br>Você se defendeu, recebendo só metade do dano.";
echo "<br>Mas ele tomou uma poção, recuperando 30 de vida.";
echo "<br>Você: ".$player."<br>Inimigo: ".$enemy;
}
elseif($action==3 && $ataque==3)
{
$enemy = $enemy + 30;
if($enemy > 100)
{
$enemy = 100;
}
$player = $player + 30;
if($player > 100)
{
$player = 100;
}
echo"Ambos tomam uma poção, recuperando 30 de vida";
echo "<br>Você: ".$player."<br>Inimigo: ".$enemy;
}
elseif($action==3 && $ataque==4)
{
$pcounter++;
$dano = 40;
$enemy -= $dano;
$enemy = $enemy + 30;
if($enemy > 100)
{
$enemy = 100;
}
echo "Você usa uma bola de fogo, causando 40 de dano.";
echo "O inimigo toma uma poção, recuperando 30 dos 40 de vida perdida";
echo "<br>Você: ".$player."<br>Inimigo: ".$enemy;
}
elseif($action==4 && $ataque==1)
{
$ecounter++;
$dano=40;
$player -= $dano;
$dano = 15;
$enemy -= $dano;
$ecounter++;
echo "<br> Você deu um ataque, causando 15 de dano";
echo "<br> Ele deu um ataque muito forte, causando 40 de dano";
echo "<br>Você: ".$player."<br>Inimigo: ".$enemy;
}
elseif($action==4 && $ataque==2)
{
$dano=40;
$player -= $dano /2;
$ecounter++;
echo "Você se defende, recebendo metade do dano";
echo "<br> Ele deu um ataque muito forte, causando 20 de dano";
echo "<br>Você: ".$player."<br>Inimigo: ".$enemy;
}
elseif($action==4 && $ataque==3)
{
$dano=40;
$player -= $dano;
$player = $player + 30;
if($player > 100)
{
$player = 100;
}
$ecounter++;
echo "<br> Você tomou uma poção, recuperando 30 de vida";
echo "<br> Ele deu um ataque muito forte, causando 40 de dano";
echo "<br>Você: ".$player."<br>Inimigo: ".$enemy;
}
elseif($action==4 && $ataque==4)
{
$dano=40;
$player -= $dano;
$enemy -= $dano;
$ecounter++;
echo "Você disparou uma bola de fogo, causando 40 de dano";
echo "<br> Ele deu um ataque muito forte, causando 40 de dano";
echo "<br>Você: ".$player."<br>Inimigo: ".$enemy;
}
}
if($enemy <= 0)
{
echo '<br>você venceu o inimigo';
}
elseif($player <= 0)
{
echo '<br>você perdeu para o inimigo';
}
else
{
echo '
<form action="?" method="get">
<br>1- ataque<br>
2- defesa <br>
3- tomar poção<br>
4- bola de fogo<br>
<input type="hidden" name="ecounter" value="'.$ecounter.'">
<input type="hidden" name="pcounter" value="'.$pcounter.'">
<input type="hidden" name="player" value="'.$player.'">
<input type="hidden" name="enemy" value="'.$enemy.'">
<input type="text" name="action">
<input type="submit" value="Enviar">
</form>';
}
}
?>
Errors indicated by phptester.net :
NOTICE Undefined index: player on line number 18
NOTICE Undefined index: Enemy on line number 24
NOTICE Undefined index: ecounter on line number 32
NOTICE Undefined index: pcounter on line number 40
Errors are of undefined variables or non-existent indices in the array?
– Woss
First I didn’t get to do an array. Second when running the program, it informs that there is an undefined variable error
– riki481
$_GET
is an array and when doing$_GET['x'] != null
you assume the x index exists, which may not be true. You could edit the question and add all the error messages?– Woss