Beste mensen van de prachtige site: PHPHULP :p

Ik ben nu bezig met een war-game. ( nee geen criminals :p )

En dan is het zo:
je hebt 2 mensen die vechten
player1 en player2 ( klinkt logisch )
en dan heb je dus bijvoorbeeld zo:

Player 1 heeft 20 attack_power_punten en 10 verdedig dingen
Player 2 heeft 30 attack_power_punten en 18 verdedig_punten...

Nou, je ziet dus meteen dat player 2 beter is.
Maar dan wil ik maken
dat er een soort van 'winpercentage' word berekent

Dan word er gekeken wie er beter is, en hoeveel 'kans' je dan hebt om te winnen.

Stel er komt dan uit dat player1 80% kans heeft om te winnen, dan word er een getal tussen de 1 en de 100 ( met rand() ) gemaakt, en als het getal dan tussen de 1 en de 80 is, dat dan player1 wint, als het getal dan tussen de 81 en 100 is, wint player2

Dan word er dus gebruik gemaakt van die winstpercentages.
En alles staat ook in mijn database, maaar: ik heb geen flauw idee hoe ik dat dan moet maken!? dus: hoe maak ik dat hij die percentages uitrekent, en hoe maak ik dat hij daaraan de rand() functie aanpast?

Ik heb al geprobeert,, maar kom er niet uit.

MvG,
Niek
met een error reporting krijg ik nog steeds geen error op mn scherm...
ligt het aan mij, of is er gewoon helemaal niks fout en geeft ie maar gewoon doodleuk een T_STRING error? :S

<?php
error_reporting(E_ALL);
include ('database.php');
$henk = "a";
$query = "SELECT naam,defence,attack FROM game_members WHERE naam IN ('a', 'b')";
$result = mysql_query($query) or die(mysql_error);
while ($row = mysql_fetch_assoc($result))
{
  if($row['naam'] == $henk){ 
  // op zoek naar ....
    $aanvaller = $row['naam'];
    array(
            'aanval' => $row['attack'],
            'verdediging' => $row['defence'],
            'health' => 100
        )
  }
  else {
    $verdediger = $row['naam'];
    array(
            'aanval' => $row['attack'],
            'verdediging' => $row['defence'],
            'health' => 100
        )
  }
}
/*
$spelers = array(
                'a' => array(
                //hier info over a uit de db halen
                            'aanval' => 20,
                            'verdediging' => 10,
                            'health' => 100
                            ),
                'b' => array(
                //hier info over b uit de db halen
                            'aanval' => 30,
                            'verdediging' => 18,
                            'health' => 100
                            )
                );

$aanvaller = 'b';
$verdediger = 'a';
*/
$rounds = 0;

// aanval => verdediging => verliezer krijgt minder health, aanval en verdediging
while (($spelers[$verdediger]['health'] > 0) && ($spelers[$aanvaller]['health'] > 0)) {
    $total = $spelers[$aanvaller]['aanval'] + $spelers[$verdediger]['verdediging'];
    $result = rand(1, $total);

    if ($result <= $spelers[$aanvaller]['aanval']) { // aanvaller wint
        $spelers[$verdediger]['health'] -= $spelers[$aanvaller]['aanval'];
        $spelers[$verdediger]['aanval'] -= 2;
        $spelers[$verdediger]['verdediging'] -= 1;
        $winner = $aanvaller;
    }
    else { // aannvaller verliest
        $spelers[$aanvaller]['health'] -= $spelers[$verdediger]['verdediging'];
        $spelers[$aanvaller]['aanval'] -= 2;
        $spelers[$aanvaller]['verdediging'] -= 1;
        $winner = $verdediger;
    }
    $rounds ++;
    
    echo 'Winnaar: '.$winner.' (som:'.$total.' random:'.$result.')'.PHP_EOL;
    echo 'Resultaten van deze ronde:'.PHP_EOL;
    echo 'Aanvaller '.$aanvaller.' health: '.$spelers[$aanvaller]['health'].PHP_EOL;
    echo 'Aanvaller '.$aanvaller.' aanval: '.$spelers[$aanvaller]['aanval'].PHP_EOL;
    echo 'Aanvaller '.$aanvaller.' verdediging: '.$spelers[$aanvaller]['verdediging'].PHP_EOL;
    echo 'Verdediger '.$verdediger.' health: '.$spelers[$verdediger]['health'].PHP_EOL;
    echo 'Verdediger '.$verdediger.' aanval: '.$spelers[$verdediger]['aanval'].PHP_EOL;
    echo 'Verdediger '.$verdediger.' verdediging: '.$spelers[$verdediger]['verdediging'].PHP_EOL;
    echo '<br />'.PHP_EOL;
    
    $flip_attack = $verdediger;
    $flip_defense = $aanvaller;
    
    $aanvaller = $flip_attack;
    $verdediger = $flip_defense;
}
echo 'Overall winnaar: '.$winner.PHP_EOL;
echo 'Ronden gespeeld: '.$rounds.PHP_EOL;

?> 


hhmmzzzzzz....
ik begin het te snappen, maar deze error die ik nu heb snap ik nog steeds niet:

Parse error: parse error, unexpected '}' in C:\Program Files\xampp\htdocs\game\attack.php on line 17

Reageren