ckeen Geschrieben 22. Januar 2003 Geschrieben 22. Januar 2003 folgendes problem: habe ein kartenspiel, wo spieler gegen computer spielt. ziel: möglichst alle karten ablegen, es kann immer nur eine höhere karte abgelegt werden. das funktioniert schon alles so wie ich es will, problem ist nur, wenn man als spieler aussetzen will (im code: $nr=14), spielt der computer 2 Karten hintereinander ab, und ich weiß nicht warum!! (könnte an mysql liegen) hat jmd nen plan, hier der code: Code: <? include("var.inc.php"); $id="1"; $abfrage = "SELECT * FROM pks WHERE id = $id"; $ergebnis = mysql_query($abfrage); while($daten = mysql_fetch_object($ergebnis)) { $sk[0] = $daten->sk1; //spielerkarten $sk[1] = $daten->sk2; $sk[2] = $daten->sk3; $sk[3] = $daten->sk4; $sk[4] = $daten->sk5; $sk[5] = $daten->sk6; $sk[6] = $daten->sk7; $sk[7] = $daten->sk8; $sk[8] = $daten->sk9; $sk[9] = $daten->sk10; $sk[10] = $daten->sk11; $sk[11] = $daten->sk12; $sk[12] = $daten->sk13; $ck[0] = $daten->ck1; //computerkarten $ck[1] = $daten->ck2; $ck[2] = $daten->ck3; $ck[3] = $daten->ck4; $ck[4] = $daten->ck5; $ck[5] = $daten->ck6; $ck[6] = $daten->ck7; $ck[7] = $daten->ck8; $ck[8] = $daten->ck9; $ck[9] = $daten->ck10; $ck[10] = $daten->ck11; $ck[11] = $daten->ck12; $ck[12] = $daten->ck13; $tk1 = $daten->tk1; //Tischkarte } //----------------------------------------------------- //Spielerkarte entfernen + Tischkarte aktualisieren --- //----------------------------------------------------- $nr2=$nr-1; if (($nr != 14) and (substr($sk[$nr2],0,2) > $tk1)) //Spielerkarte größer Tischkarte { $aendern = "UPDATE pks Set tk1 = '$sk[$nr2]' WHERE id = $id"; $update = mysql_query($aendern); $tk1 = $sk[$nr2]; unset($sk); switch($nr2) { case 0: $aendern2 = "UPDATE pks Set sk1 = 0 WHERE id = $id"; break; case 1: $aendern2 = "UPDATE pks Set sk2 = 0 WHERE id = $id"; break; case 2: $aendern2 = "UPDATE pks Set sk3 = 0 WHERE id = $id"; break; case 3: $aendern2 = "UPDATE pks Set sk4 = 0 WHERE id = $id"; break; case 4: $aendern2 = "UPDATE pks Set sk5 = 0 WHERE id = $id"; break; case 5: $aendern2 = "UPDATE pks Set sk6 = 0 WHERE id = $id"; break; case 6: $aendern2 = "UPDATE pks Set sk7 = 0 WHERE id = $id"; break; case 7: $aendern2 = "UPDATE pks Set sk8 = 0 WHERE id = $id"; break; case 8: $aendern2 = "UPDATE pks Set sk9 = 0 WHERE id = $id"; break; case 9: $aendern2 = "UPDATE pks Set sk10 = 0 WHERE id = $id"; break; case 10: $aendern2 = "UPDATE pks Set sk11 = 0 WHERE id = $id"; break; case 11: $aendern2 = "UPDATE pks Set sk12 = 0 WHERE id = $id"; break; case 12: $aendern2 = "UPDATE pks Set sk13 = 0 WHERE id = $id"; break; } $update2 = mysql_query($aendern2); } else { unset($sk); if ($nr != 14) //karte kleiner Tischkarte {$falschk = 2;} if ($nr == 14) //spieler will keine karte legen {$tk1 = "0";} } //----------------------------------------------- // KI des Computers: Karte legen + Tischkarte --- //----------------------------------------------- if ($falschk != 2) //spielerkarte nicht falsch { for ($i=0; $i<=13; $i++) { if (substr($ck[$i],0,2) > $tk1) //Karte größer als Tischkarte { $aendern = "UPDATE pks Set tk1 = '$ck[$i]' WHERE id = $id"; $update = mysql_query($aendern); break; } } unset($ck); switch($i) { case 0: $aendern2 = "UPDATE pks Set ck1 = '0' WHERE id = $id"; break; case 1: $aendern2 = "UPDATE pks Set ck2 = '0' WHERE id = $id"; break; case 2: $aendern2 = "UPDATE pks Set ck3 = '0' WHERE id = $id"; break; case 3: $aendern2 = "UPDATE pks Set ck4 = '0' WHERE id = $id"; break; case 4: $aendern2 = "UPDATE pks Set ck5 = '0' WHERE id = $id"; break; case 5: $aendern2 = "UPDATE pks Set ck6 = '0' WHERE id = $id"; break; case 6: $aendern2 = "UPDATE pks Set ck7 = '0' WHERE id = $id"; break; case 7: $aendern2 = "UPDATE pks Set ck8 = '0' WHERE id = $id"; break; case 8: $aendern2 = "UPDATE pks Set ck9 = '0' WHERE id = $id"; break; case 9: $aendern2 = "UPDATE pks Set ck10 = '0' WHERE id = $id"; break; case 10: $aendern2 = "UPDATE pks Set ck11 = '0' WHERE id = $id"; break; case 11: $aendern2 = "UPDATE pks Set ck12 = '0' WHERE id = $id"; break; case 12: $aendern2 = "UPDATE pks Set ck13 = '0' WHERE id = $id"; break; case 13: //=Computer setzt aus $aendern2 = "UPDATE pks Set tk1 = '0' WHERE id = $id"; } $update = mysql_query($aendern2); }//skfalsch mysql_close($verbindung); header ("Location:show.php"); ?> :confused: Zitieren
kathi008 Geschrieben 23. Januar 2003 Geschrieben 23. Januar 2003 hi unset($sk); if ($nr != 14) //karte kleiner Tischkarte {$falschk = 2;} if ($nr == 14) //spieler will keine karte legen {$tk1 = "0";}?<<<?? kann es sein, dass du da noch die Datenbank aktualiesieren musst? Zitieren
ckeen Geschrieben 23. Januar 2003 Autor Geschrieben 23. Januar 2003 glaub nicht, die baruch ich ja nur noch hier zum vergleichen: if (substr($ck[$i],0,2) > $tk1) ...keiner ne idee??? :confused: Zitieren
ckeen Geschrieben 24. Januar 2003 Autor Geschrieben 24. Januar 2003 ok, hab jetzt nochmal den fehler etwas eingrenzen können: im fogenden code wird die datenbank in switch 2x upgedatet, sollte aber nur 1x sein. warum??? ...$i hat doch immer nur einen wert, oder? include("var.inc.php"); $id="1"; $abfrage = "SELECT * FROM pks WHERE id = $id"; $ergebnis = mysql_query($abfrage); while($daten = mysql_fetch_object($ergebnis)) { $ck[0] = $daten->ck1; $ck[1] = $daten->ck2; $ck[2] = $daten->ck3; $ck[3] = $daten->ck4; $ck[4] = $daten->ck5; $ck[5] = $daten->ck6; $ck[6] = $daten->ck7; $ck[7] = $daten->ck8; $ck[8] = $daten->ck9; $ck[9] = $daten->ck10; $ck[10] = $daten->ck11; $ck[11] = $daten->ck12; $ck[12] = $daten->ck13; $tk1 = $daten->tk1; } for ($i=0; $i<=13; $i++) { if (substr($ck[$i],0,2) > $tk1) { $aendern = "UPDATE pks Set tk1 = '$ck[$i]' WHERE id = $id"; $update = mysql_query($aendern); break; } } switch($i) { case 0: $aendern2 = "UPDATE pks Set ck1 = '0' WHERE id = $id"; break; case 1: $aendern2 = "UPDATE pks Set ck2 = '0' WHERE id = $id"; break; case 2: $aendern2 = "UPDATE pks Set ck3 = '0' WHERE id = $id"; break; case 3: $aendern2 = "UPDATE pks Set ck4 = '0' WHERE id = $id"; break; case 4: $aendern2 = "UPDATE pks Set ck5 = '0' WHERE id = $id"; break; case 5: $aendern2 = "UPDATE pks Set ck6 = '0' WHERE id = $id"; break; case 6: $aendern2 = "UPDATE pks Set ck7 = '0' WHERE id = $id"; break; case 7: $aendern2 = "UPDATE pks Set ck8 = '0' WHERE id = $id"; break; case 8: $aendern2 = "UPDATE pks Set ck9 = '0' WHERE id = $id"; break; case 9: $aendern2 = "UPDATE pks Set ck10 = '0' WHERE id = $id"; break; case 10: $aendern2 = "UPDATE pks Set ck11 = '0' WHERE id = $id"; break; case 11: $aendern2 = "UPDATE pks Set ck12 = '0' WHERE id = $id"; break; case 12: $aendern2 = "UPDATE pks Set ck13 = '0' WHERE id = $id"; break; case 13: //alles < $tk1 $aendern2 = "UPDATE pks Set tk1 = '0' WHERE id = $id"; break; } unset($ck); $update = mysql_query($aendern2); mysql_close($verbindung); Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.