Gedichte
Getextebuch
Aneinandergereiht
ne 'Story
Zusatz
Thematik
Dazu
Helpers
Links
Spiele
Eddie Live
Was passiert
Programmierung


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]] == && $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]] == && $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] > )
            {
            
$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] > )
            {
            
$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]="&nbsp;";
                    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>