Web_spider
Neues Mitglied
Ich weiß so was ähnliches hatte ich glaub ich schon mal, aber ich finde den treath net und hatte es damals auch net verstanden, da ich keine Zeiger kannte.
Erstmal das Script:
Das Problem liegt hier:
ich muss irgendwie hinkriegen, dass ich auf das ziel von krieger in der Funktion zugreifen kann, und auch die Werte von soldat über krieger ändern kann, also eigentlich mit einem zeiger auf krieger...
Jetzt weiß ich net ob es Zeiger bei php gibt und wie ich die erstelle...
und damit das funktioniert, so wie ich das meine..
Bitte net Closen, da ich glaube, irgendwo das Thema schonmal gehabt zu haben, würde mich aber freuen, es hier nochmal erklärt zu bekommen.
greez web_spider![Big Grin :D :D](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f600.png)
//EDIT: Habs gelöst, und meine Version richtig editier, habs so geändert:
und so weiß ich jetzt, dass es bei php zeiger gibt xD
Erstmal das Script:
PHP:
<?php
error_reporting(E_ALL);
function angreifen($angreifer, $anz)
{
(!is_array($angreifer))? false : "";
//intialisieren
$krits = 0;
$ausw = 0;
$pars = 0;
$gesamt_schaden = 0;
$ges = $anz;
for(;$anz>0;$anz--)
{
$schaden = rand($angreifer['min_schaden'], $angreifer['max_schaden']);
$krit_chance = rand(1,100);
$par_chance = rand(1,100);
$ausw_chance = rand(1,100);
if($ausw_chance < $angreifer['ziel']['ausw_chance']) //Wenn ausweicht, kanns keine Treffer geben
{
$ausw++;
$schaden = 0;
}
elseif($krit_chance < $angreifer['krit_chance']) //Wenn kritischer Treffer ist, kann man net parrieren
{
$krits++;
$schaden *= rand(2,3); //Schadensbonus
}
elseif($par_chance < $angreifer['ziel']['par_chance']) //Wenn das alles net zutrifft, hat man die Chance zu parrieren
{
$pars++;
$schaden = 0;
}
$gesamt_schaden += $schaden;
}
$angriffs_ergebnis['anzahl'] = $ges;
$angriffs_ergebnis['schaden'] = $gesamt_schaden;
$angriffs_ergebnis['krit'] = $krits;
$angriffs_ergebnis['par'] = $pars;
$angriffs_ergebnis['ausw'] = $ausw;
$angreifer['ziel']['leben'] = 22;
return $angriffs_ergebnis;
}
$krieger['min_schaden'] = 11;
$krieger['max_schaden'] = 17;
$krieger['leben'] = 49;
$krieger['ruestung'] = 12;
$krieger['krit_chance'] = 6.21;
$krieger['par_chance'] = 2.34;
$krieger['ausw_chance'] = 1.62;
$soldat['min_schaden'] = 11;
$soldat['max_schaden'] = 17;
$soldat['leben'] = 49;
$soldat['ruestung'] = 12;
$soldat['krit_chance'] = 6.21;
$soldat['par_chance'] = 2.34;
$soldat['ausw_chance'] = 1.62;
$krieger['ziel'] = &$soldat;
$soldat['ziel'] = &$krieger;
echo $soldat['leben'];
echo "<br />";
$ergebnis = angreifen($krieger, 20);
echo $soldat['leben'];
echo "<br />";
echo var_dump($ergebnis);
?>
PHP:
$krieger_ziel &= $soldat;
$soldat_ziel &= $krieger;
Jetzt weiß ich net ob es Zeiger bei php gibt und wie ich die erstelle...
und damit das funktioniert, so wie ich das meine..
Bitte net Closen, da ich glaube, irgendwo das Thema schonmal gehabt zu haben, würde mich aber freuen, es hier nochmal erklärt zu bekommen.
greez web_spider
![Big Grin :D :D](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f600.png)
//EDIT: Habs gelöst, und meine Version richtig editier, habs so geändert:
PHP:
$krieger['ziel'] = &$soldat;
$soldat['ziel'] = &$krieger;
und so weiß ich jetzt, dass es bei php zeiger gibt xD
Zuletzt bearbeitet: