Avatar billede l33t_gejl Nybegynder
07. december 2005 - 20:01 Der er 5 kommentarer og
1 løsning

Ved sgu ik hva fejlen er

Heya... Jeg er i gang med at lave en slags online spil.. min kode ser sårn her ud:
<?
include("config.php");

$kode = "6";

$a = "10";
$b = "10";

$aspiller = "wickedwacko";
$bspiller = "nimda";

mysql_query("INSERT INTO kampe (ID, spillerA, spillerB, spillerApoint, spillerBpoint, vinder, kode, runder, slut) VALUES ('', '$aspiller', '$bspiller', '$a', '$b', '0', '$kode', '0', 'nej')") or die(mysql_error());

$sql = mysql_query("SELECT * from kampe where kode = '$kode'") OR DIE(mysql_error());
$row = mysql_fetch_assoc($sql);

$spillera = $row['spillerA'];
$spillerb = $row['spillerB'];

$SpillerASql = mysql_query("SELECT * FROM users where username = '$spillera'") OR DIE(mysql_error());
$SpillerARow = mysql_fetch_row($SpillerASql);
$SpillerBSql = mysql_query("SELECT * FROM users where username = '$spillerb'") OR DIE(mysql_error());
$SpillerBRow = mysql_fetch_row($SpillerBSql);

while ($row['vinder'] == "0" AND $row['runder'] == "0" AND $row['slut'] == "nej"){

if("$a" == "$b") {

$arand = rand(1,10);
$brand = rand(1,10);

$indsaetR = $row['runder']+1;

$fraa =  $a-$arand;
$frab =  $b-$brand;
// Trække rand tal fra point slut

// Lave procent start

$aprocent = $arand/$a*100;
$bprocent = $brand/$b*100;

// Lave procent slut

} else {

echo "FEJL!";
}

if(strlen($fraa <= 0 AND $frab >= 0)) {
echo "$spillera er død!";
echo "<br>";
echo "Mens $spillerb har <b>$bprocent</b> liv tilbage";

$AspillerApoint = $aprocent;
$AspillerBpoint = $bprocent;
$AindsaetA = $SpillerARow['point']-$ASpillerAPoint/10;
$AindsaetB = $SpillerBRow['point']+$ASpillerBPoint/10;

mysql_query("UPDATE users SET point = '$AindsaetA' where username = '$spillera'") or die(mysql_error());
mysql_query("UPDATE users SET point = '$AindsaetB' where username = '$spillerb'") or die(mysql_error());
mysql_query("UPDATE kampe SET slut = 'ja', spillerApoint = '$aprocent', spillerBpoint = '$bprocent', vinder = '$spillerb', runder = '$indsaetR' WHERE kode = '$kode'") or die(mysql_error());

} else {
echo "I døde sgu begge to";
mysql_query("UPDATE users SET point = '$AindsaetA' where username = '$spillera'") or die(mysql_error());
mysql_query("UPDATE users SET point = '$AindsaetB' where username = '$spillerb'") or die(mysql_error());
mysql_query("UPDATE kampe SET slut = 'ja', spillerApoint = '$aprocent', spillerBpoint = '$bprocent', vinder = '0', runder = '$indsaetR' WHERE kode = '$kode'") or die(mysql_error());
}
if(strlen($frab <= 0 AND $fraa >= 0)) {
echo "$spillerb er død!";
echo "<br>";
echo "Mens $spillera har <b>$aprocent</b> liv tilbage";

$BindsaetA = $SpillerARow['point']+$aprocent/10;
$BindsaetB = $SpillerBRow['point']-$bprocent/10;

mysql_query("UPDATE users SET point = '$BindsaetA' where username = '$spillera'") or die(mysql_error());
mysql_query("UPDATE users SET point = '$BindsaetB' where username = '$spillerb'") or die(mysql_error());
mysql_query("UPDATE kampe SET slut = 'ja', spillerApoint = '$aprocent', spillerBpoint = '$bprocent', vinder = '$spillera', runder = '$indsaetR' WHERE kode = '$kode'") or die(mysql_error());
} else {
echo "I døde sgu begge to";
mysql_query("UPDATE users SET point = '$BindsaetA' where username = '$spillera'") or die(mysql_error());
mysql_query("UPDATE users SET point = '$BindsaetB' where username = '$spillerb'") or die(mysql_error());
mysql_query("UPDATE kampe SET slut = 'ja', spillerApoint = '$aprocent', spillerBpoint = '$bprocent', vinder = '0', runder = '$indsaetR' WHERE kode = '$kode'") or die(mysql_error());
}

if(strlen($fraa AND $frab > 0)) {

echo "Ingen døde!";
echo "<br><br>";
echo "$spillera har $aprocent% liv tilbage og $spillerb har $bprocent% liv tilbage";

$CindsaetA = $SpillerARow['point']+$aprocent/10;
$CindsaetB = $SpillerBRow['point']-$bprocent/10;

mysql_query("UPDATE users SET point = '$CindsaetA' where username = '$spillera'") or die(mysql_error());
mysql_query("UPDATE users SET point = '$CindsaetB' where username = '$spillerb'") or die(mysql_error());
mysql_query("UPDATE kampe SET spillerApoint = '$aprocent', spillerBpoint = '$bprocent', vinder = '0', runder = '$indsaetR' WHERE kode = '$kode'") or die(mysql_error());
}
}

while ($row['runder'] != "0" AND $row['vinder'] == "0" AND $row['slut'] == 'nej') {

if("$a" == "$b") {

$arand = rand(1,10);
$brand = rand(1,10);

$indsaetR = $row['runder']+1;

$fraa =  $a-$arand;
$frab =  $b-$brand;
// Trække rand tal fra point slut

// Lave procent start

$aprocent = $arand/$a*100;
$bprocent = $brand/$b*100;

// Lave procent slut

} else {

echo "FEJL!";
}

$spillerAliv = $row['spillerApoint']-$aprocent;
$spillerBliv = $row['spillerBpoint']-$bprocent;

if(strlen($fraa <= 0 AND $frab >= 0)) {

echo "$spillera er død!";
echo "<br>";
echo "Mens $spillerb har <b>$spillerBliv %</b> liv tilbage";

$AindsaetA = $SpillerARow['point']-$SpillerAliv/10;
$AindsaetB = $SpillerBRow['point']+$SpillerBliv/10;

mysql_query("UPDATE users SET point = '$AindsaetA' where username = '$spillera'") or die(mysql_error());
mysql_query("UPDATE users SET point = '$AindsaetB' where username = '$spillerb'") or die(mysql_error());
mysql_query("UPDATE kampe SET slut = 'ja', spillerApoint = '$spillerAliv', spillerBpoint = '$spillerBliv', vinder = '$spillerb', runder = '$indsaetR' WHERE kode = '$kode'") or die(mysql_error());
} else {

echo "I døde sgu begge to";
mysql_query("UPDATE users SET point = '$AindsaetA' where username = '$spillera'") or die(mysql_error());
mysql_query("UPDATE users SET point = '$AindsaetB' where username = '$spillerb'") or die(mysql_error());
mysql_query("UPDATE kampe SET slut = 'ja', spillerApoint = '$spillerAliv', spillerBpoint = '$spillerBliv', vinder = 'uafgjort', runder = '$indsaetR' WHERE kode = '$kode'") or die(mysql_error());
}
if(strlen($frab <= 0 AND $fraa >= 0)) {

echo "$spillerb er død!";
echo "<br>";
echo "Mens $spillera har <b>$spillerAliv %</b> liv tilbage";

$BindsaetA = $SpillerARow['point']+$SpillerAliv/10;
$BindsaetB = $SpillerBRow['point']-$SpillerBliv/10;

mysql_query("UPDATE users SET point = '$AindsaetA' where username = '$spillera'") or die(mysql_error());
mysql_query("UPDATE users SET point = '$AindsaetB' where username = '$spillerb'") or die(mysql_error());
mysql_query("UPDATE kampe SET slut = 'ja', spillerApoint = '$spillerAliv', spillerBpoint = '$spillerBliv', vinder = '$spillera', runder = '$indsaetR' WHERE kode = '$kode'") or die(mysql_error());
} else {
echo "I døde sgu begge to";
mysql_query("UPDATE users SET point = '$AindsaetA' where username = '$spillera'") or die(mysql_error());
mysql_query("UPDATE users SET point = '$AindsaetB' where username = '$spillerb'") or die(mysql_error());
mysql_query("UPDATE kampe SET slut = 'ja', spillerApoint = '$spillerAliv', spillerBpoint = '$spillerBliv', vinder = '0', runder = '$indsaetR' WHERE kode = '$kode'") or die(mysql_error());
}

if(strlen($fraa AND $frab > 0)) {

echo "Ingen døde!";
echo "<br><br>";
echo "$spillera har $spillerAliv% liv tilbage og $spillerb har $spillerBliv% liv tilbage";

$blaA = $SpillerARow['point']+$SpillerAliv/10;
$blaB = $SpillerBRow['point']-$SpillerBliv/10;

mysql_query("UPDATE users SET point = '$blaA' where username = '$spillera'") or die(mysql_error());
mysql_query("UPDATE users SET point = '$blaB' where username = '$spillerb'") or die(mysql_error());
mysql_query("UPDATE kampe SET spillerApoint = '$spillerAliv', spillerBpoint = '$spillerBliv', vinder = '0', runder = '$indsaetR' WHERE kode = '$kode'") or die(mysql_error());
}
}
?>

Det skulle være muligt for jer at se hvad den skal kunne, men når jeg prøver at køre den så går den bare ind i et uendeligt loop :/
Avatar billede erikjacobsen Ekspert
07. december 2005 - 20:15 #1
Du skal sørge for at have en while løkke sådan ca.

  while ($r=mysql_fetch_xxxxx(....)) {
Avatar billede l33t_gejl Nybegynder
07. december 2005 - 20:42 #2
hmm... okay hvordan opsætter jeg så kriterier??
Avatar billede erikjacobsen Ekspert
07. december 2005 - 20:52 #3
Det ved jeg ikke - jeg ved ikke hvad du vil. Men med passende if-sætninger går det nok.
Avatar billede l33t_gejl Nybegynder
07. december 2005 - 21:04 #4
må min løkke så heller ikke indeholde en variabel??? BTW så skal koden gerne vælge et tilfældigt tal og trække det fra begge to og så tjekke hvor meget de har tilbage og gøre noget forskelligt efter hvad de har tilbage så smide det i en mysql database og fortsætte hvis ikke kun en af dem har under 0
Avatar billede erikjacobsen Ekspert
07. december 2005 - 21:18 #5
Det vil jeg helst ikke blandes ind i. Du skal blot sørge for at while løkken ligner den jeg skrev - det er den måde man henter ting ud af en sql-forespørgsel.
Avatar billede l33t_gejl Nybegynder
18. januar 2006 - 20:52 #6
glemt at lukke
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester