|
Autor: Eddie
Letzte Änderung am: 17.04.2003
<?php global $feld,$spielfeld,$spielerfigur,$spielerindex; global $spielerstatus,$winner; global $lauf,$flauf,$glauf,$gflauf;
/////Funktion: zug_setzten - setzt zug des Spieler's /////////////////////////// function zug_setzten($reihe,$spieler) { global $feld,$spielfeld,$spielerfigur,$spielerindex;
for($i=1;$i <= 9;$i++) { if($spielfeld[$i][$reihe] == "0") { $spielfeld[$i][$reihe]=$spielerindex[$spieler]; $feld=$feld.$i.",".$reihe.",".$spielfeld[$i][$reihe].":"; return 0; } } return 1; }
/////Funktion: hole_spielfeld - füllt Spielfeld mit x o 0 und mit x o 0 und Warscheinlich auch mit x o 0 function hole_spielfeld() { global $feld,$spielfeld;
for($x = 1;$x <= 10;$x++) { for($y = 1;$y <= 10;$y++) { $spielfeld[$x][$y]="0"; } }
if($feld) { $temp=preg_split("/:/",$feld); for($i=0;$i < count($temp);$i++) { $array=preg_split("/,/",$temp[$i],3); $spielfeld[$array[0]][$array[1]]=$array[2]; } } }
//////Funktion: spiel_status - wer spielt hier gut ??? //////////// function spiel_status() { global $spielfeld,$spielerstatus,$spielerindex; global $lauf,$flauf,$glauf,$gflauf;
////////////////////// Senkrecht und Wagerecht ///////////////////////////////////////// for($i=1;$i <= 9;$i++) { for($x=1;$x <= 10;$x++) { if($spielfeld[$i][$x] != "0") { ///////////////// Senkrecht ///////////////////////////////// $lauf[$spielfeld[$i][$x]][$x]++; if($lauf[$spielfeld[$i][$x]][$x] > 1)$spielerstatus[1][$x][$spielfeld[$i][$x]] = $x; if($spielfeld[$i+1][$x] != $spielfeld[$i][$x] && $spielfeld[$i+1][$x] != "0"){ $lauf[$spielfeld[$i][$x]][$x]=0; $spielerstatus[1][$x][$spielfeld[$i][$x]] = FALSE;} if($lauf[$spielfeld[$i][$x]][$x] == 4)return $spielfeld[$i][$x];
//////////////// Wagerecht //////////////////////////////// $flauf[$spielfeld[$i][$x]][$i]++; if($spielfeld[$i][$x+1] == $spielerindex[$spielfeld[$i][$x]])$flauf[$spielerindex[$spielfeld[$i][$x]]][$i]=0; if($flauf[$spielfeld[$i][$x]][$i] > 1){$spielerstatus[2][1][$spielfeld[$i][$x]] = $x+1;} if($spielfeld[$i][$x-3] == "0" && $flauf[$spielfeld[$i][$x]][$i] == 3)$spielerstatus[2][1][$spielfeld[$i][$x]]=$x-3; if($flauf[$spielfeld[$i][$x]][$i] == 4)return $spielfeld[$i][$x];
////////////////////////////Diagonal und Vertikal/////////////////////////////////////// for($a=1;$a <= 3;$a++) { if($x <= 7) { if($spielfeld[$i+$a][$x+$a] == $spielfeld[$i][$x]) { $glauf[$spielfeld[$i][$x]]++; if($glauf[$spielfeld[$i][$x]] == 2 && $spielfeld[$i+$a][$x+$a+1] != "0")$spielerstatus[3][1][$spielfeld[$i][$x]]=$x+$a+1; if($spielfeld[$i+$a+1][$x+$a+1] == $spielerindex[$spielfeld[$i][$x]])$spielerstatus[3][1][$spielfeld[$i][$x]] = FALSE; if($glauf[$spielfeld[$i][$x]] == 3)return $spielfeld[$i][$x]; } }
if($x >= 4) { if($spielfeld[$i+$a][$x-$a] == $spielfeld[$i][$x]) { $gflauf[$spielfeld[$i][$x]]++; if($gflauf[$spielfeld[$i][$x]] == 2 && $spielfeld[$i+$a][$x-$a-1] != "0")$spielerstatus[4][1][$spielfeld[$i][$x]]=$x-$a-1; if($spielfeld[$i+$a+1][$x-$a-1] == $spielerindex[$spielfeld[$i][$x]])$spielerstatus[4][1][$spielfeld[$i][$x]] = FALSE; if($gflauf[$spielfeld[$i][$x]] == 3)return $spielfeld[$i][$x]; } } if($spielfeld[$i+$a][$x-$a] == $spielerindex[$spielfeld[$i][$x]])$spielerstatus[4][1][$spielfeld[$i][$x]] = FALSE; } $gflauf[$spielfeld[$i][$x]]=$glauf[$spielfeld[$i][$x]]=0; } else { $flauf["x"][$i]=$flauf["o"][$i]=0; } }
} return 3; }
///////Funktion: com_gegner - ein fast realer Mitspieler ////////////////////// function com_gegner() { global $spielerstatus,$winner,$spielerindex; global $lauf,$flauf,$glauf,$gflauf;
srand ((double)microtime()*1000000); $entschieden=rand(1,10);
$prio=0; for($sp=1;$sp <= 2;$sp++) { for ($x=1;$x <= 9;$x++) { if($spielerstatus[1][$x][$spielerindex[$sp]] && $prio != 4) { $entschieden=$spielerstatus[1][$x][$spielerindex[$sp]]; if ($lauf[$spielerindex[$sp]][$x] > 2 ) { $entschieden=$spielerstatus[1][$x][$spielerindex[$sp]]; if($sp == 2)$winner="x"; $prio=4; } } }
if($spielerstatus[2][1][$spielerindex[$sp]] && $prio != 4) { $entschieden=$spielerstatus[2][1][$spielerindex[$sp]]; if ($flauf[$spielerindex[$sp]][$x] > 2 ) { $entschieden=$spielerstatus[2][1][$spielerindex[$sp]]; if($sp == 2)$winner="x"; $prio=4; } }
if($prio != 4) { for ($i=3;$i <= 4;$i++) { if($spielerstatus[$i][1][$spielerindex[$sp]]) { $entschieden=$spielerstatus[$i][1][$spielerindex[$sp]]; if($sp == 2)$winner="x"; } } } } zug_setzten($entschieden,2); }
?>
<?php ////// Spiel spielen //////////////////////////////////////////////////////////// $reihe=$_GET['reihe']; $feld=$_GET['feld']; $spieler=$_GET['spieler']; $datei=$_GET['datei']; $winner=3; $spielerindex = array("x"=>"o","o"=>"x","1"=>"o","2"=>"x"); $spieleranz = array("1"=>"x","2"=>"o"); $gegner="datei=4gewinnt"; $tempspieler=$spieler; hole_spielfeld(); $spieler=$spieler+1; if($spieler > 2)$spieler=1; if($reihe) { if(zug_setzten($reihe,$spieler) == 1)$spieler=$tempspieler; $winner=spiel_status();
if($datei=="computer" && $winner==3) { echo "Der Computergegner v. 0.41"; com_gegner(); } }
$status="<font size=4 color=red>".$spieleranz[$spieler]."</font>";
if($winner != 3) { if($datei=="computer"){$gegner="datei=computer";$spieler=2;} $feld=""; $status="<table><tr><td><font size=4 color=red>Gewonnen hat: </font></td><td><font size=4 color=red>".$winner."</font></td></tr></table>"; }
if($datei=="computer" && $winner==3) { $gegner="datei=computer"; $spieler=2; $status="<font size=4 color=red>o</font>"; }
////////////////// Ausgabe der Spieloberfläche ////////////////////////////////////////////////////// ?>
<table WIDTH=390 height=400 border=1 bgcolor=#000033> <tr> <td align="middle"> <center> <table border=1 WIDTH=360 height=380 bgcolor=#000033 bordercolor=black> <tr> <td height=30 align="middle"> <?php echo $status; ?> </td> </tr> <tr> <td> <table border=0 WIDTH=356 height=300 bordercolor=blue> <tr> <?php for($x = 9;$x >= 1;$x--) { echo "<tr>"; for($y = 1;$y <= 10;$y++) { $l=10-$x; if($spielfeld[$x][$y] == "0")$spielfeld[$x][$y]=" "; echo "<td WIDTH=35 align=middle bgcolor=#0000".$l."0><font color=red>".$spielfeld[$x][$y]."</font></td>"; } echo "</tr>"; } ?> </tr> </table> </td> </tr> <tr> <td height=30> <table border=0 WIDTH=356 bordercolor=black> <tr> <?php for($i = 1;$i <= 10;$i++) { echo "<td WIDTH=35 align=middle bgcolor=#000033><a class=\"nounderline\" href=\"./thetuxworld.php?".$gegner."&id=8&reihe=".$i."&feld=".$feld."&spieler=".$spieler."\"><font size=4 color=#0066FF>*</font></a></td>"; } ?> </tr> </table> </td> </tr> </table> </center> </td> </tr> </table>
|
|