:: démineur en php :) - génération de tableau via php (cours fpl ) ::

0/5 (7 avis)

Vue 10 348 fois - Téléchargée 621 fois

Description

C'est un simple démineur en php, le but étant biensure de ne pas marcher sur les mines, ce codes a été réaliser pour le cours du FPL traitant des passement de variables ... la page se charge en fonction des variable qu'elle s'est envoyée ...

-- la soluce est ds le sources :) --

Source / Exemple :


<html>
<head>
        <style type="text/css">
        input{background-color: #FFCB43}
        </style>
       <title> -> DEMINEUR EN PHP BY ENDSUB :) <-- </title>
    
</head>
<body bgcolor="#cccccc"><center>
<form name="form" method="post" action="#">
   <?
       // generer les mines :)
       $duplicate=0;
       //debug : echo "map_mines au debut :".$map_mines."<br>";
        if(empty($map_mines)){
            for ($a=1;$a<=10;$a++)
            {
                $duplicate=0;
                $array[$a]=rand(1,100);
                if($a>1)
                {
                     for ($e=($a-1);$e>0;$e--)
                    {
                        if($array[$a]==$array[$e])
                        {
                            $duplicate=1;
                        }
                    }
                 }
                 if ($duplicate==1)
                 $a=$a-1;
                 $map_mines="";
                for ($f=1;$f<=10;$f++)
                {
                    if($f >1)
                    {
                        $map_mines.="_";
                    }
                $map_mines .= $array[$f];
                }
            }
            
          }else{
              $map_mines_back = $map_mines;
            $count = 1;
            while(strlen($map_mines)!= 0)
            {
                $nbmines = strrpos($map_mines,"_")+1;
                $array[$count]= substr($map_mines,$nbmines,strlen($map_mines));
                if(strlen($map_mines)==2)
                  $array[$count]=$map_mines;
                $map_mines = substr($map_mines,0,$nbmines-1);
                $count++;
            }
            $countp= 1;
            if(!(empty($passed))){
                if(strlen($passed)>=289)
                {
                    die("BRAVO VOUS AVEZ GAGNEE !!!");
                }
                $passedback=$passed;
                if(strlen($passed)==2)
                {
                        $passedarray[$countp]=$passed;
                        $passed = "";
                }
                while(strlen($passed)!= 0)
                {
                    $nbmines = strpos($passed,"-")+1;
                    $passedarray[$countp] = substr($passed,0,($nbmines-1));
                    if(strlen($passed)<=2)
                    {
                        $passedarray[$countp]=$passed;
                        $countp++;
                        $passed = "";
                    }else{
                         $passed = substr($passed,$nbmines,strlen($passed));
                         $countp++;
                     }
                }
            }
            $map_mines = $map_mines_back;
            $passed = $passedback;
        }
    ?>
 <b>nom :<br><? echo "<input type=\"hidden\" name=\"map_mines\" value=\"".$map_mines."\">"; ?>
             
<input type="text" lenght=6 name ="name" value = "<? if(empty($name))$name="player"; echo $name; ?>"> <br><br>
Sélectionner une cellule : <br><br>
<table border=10 bgcolor=#888888 bordercolor="#543210">

<?
// faire le tableau :)
$incremente = 1;
$explosed = 0;
echo "<u>découvert :</u><br><h2>";
for ($i=1;$i<$countp;$i++)
{
    echo $passedarray[$i]."-";
}
echo "</h2><br>";

for($g=1;$g<=10;$g++)
{
    if($val == $array[$g])
    $explosed=1;
 }
for ($c = 1;$c <=10;$c++)
{
    echo "<tr>".chr(13);
    for($d=1;$d<=10;$d++)
    {
        if($val==$incremente)
        {
            if($explosed==0)// ok :)
            {
                if(strlen($passed)==0)
                {
                    $passed .= $incremente;
                }else{
                    $passed .="-".$incremente;
                }
                echo "    <td width = 150 align=\"center\" bgcolor=\"#543210\" >";
                echo "<input  type=\"submit\" value=\"".chr(246)."\" name=\"val\">";
            }else{
                echo "    <td width = 150 align=\"center\" bgcolor=red >";
                echo "<font-color=red>YOU DIED HERE !</font>";
            }
        }else{
            if($explosed==0)// ok :)
            {
                $isinliste=0;
                for($j=1;$j<$countp;$j++)
                {
                    if($passedarray[$j] == $incremente)
                    {
                        $isinliste=1;
                    }
                }
                if($isinliste==1)
                 {
                      echo "    <td width = 150 align=\"center\" bgcolor=\"#ffffff\" >";
                      echo "<input type=\"submit\" value=\"".$incremente."\" name=\"val\">";
                      $score ++;
                 }else{
                      echo "    <td width = 150 align=\"center\" bgcolor=\"#cccccc\" >";
                      echo "<input type=\"submit\" value=\"".$incremente."\" name=\"val\">";
                      $score ++;
                 }
            }else{// explosé :)
                $vartoadd="";
                for ($h=1;$h<=10;$h++)
                {
                        if($incremente == $array[$h])
                        {
                            $vartoadd = "x";
                        }
                }
                if($vartoadd=="")
                {
                    $isinliste=0;
                    for($j=1;$j<$countp;$j++)
                    {
                        if($passedarray[$j] == $incremente)
                        {
                            $isinliste=1;
                        }
                    }
                    if($isinliste==1)
                    {
                        echo "    <td bgcolor=white width = 150 align=\"center\">";
                        echo "<b>&nbsp;&nbsp;</b>";
                    }else{
                        echo "    <td bgcolor=yellow width = 150 align=\"center\">";
                        echo "<b>&nbsp;&nbsp;</b>";
                    }
                    
                }else{
                    echo "    <td bgcolor=red width = 150 align=\"center\">";
                    echo "<font color=white> X </font>";
                }
            }
           
        }
        echo "</td>".chr(13);
         $incremente++;
    }
    echo chr(13)."</tr>".chr(13);
}

if ($explosed == 1)
{
?>

<br><br><br>
<form method="post" action="#">
<input type="submit" name="retry" value="recommencer">
<input type="hidden" name="map_mines" value="">
</form>
<?
}
?>

</table><br>
score</b><br><? echo "<input type=\"hidden\" name=\"passed\" value=\"".$passed."\">"; ?>
<input type="text" lenght=6 name ="score" value = "<?if(empty($score))$score="0"; echo $score; ?>"> <br><br>
</form>

<? // debug: <? echo $map_mines; ?>
</center>
</form>
</body>
</html>

Conclusion :


voila, amusez vous bien :)

Codes Sources

A voir également

Ajouter un commentaire Commentaires
mathieumg Messages postés 558 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 18 février 2006
5 juin 2003 à 23:56
Merci

Mathieu M-G
EnDSuB Messages postés 38 Date d'inscription vendredi 11 janvier 2002 Statut Membre Dernière intervention 10 octobre 2007
5 juin 2003 à 23:55
salut, pour maguma, je me suis douté que sa vous aurez intéressé, cé pour sa ke jé mis un screenshot :)
il se trouve ici :
http://download.maguma.com/maguma_studio-1.0.7p2-complete.exe
bon coding :)
mathieumg Messages postés 558 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 18 février 2006
5 juin 2003 à 22:53
C'est quoi eMule ?

Merci


Mathieu M-G
thepopolinux Messages postés 245 Date d'inscription jeudi 9 janvier 2003 Statut Membre Dernière intervention 21 juin 2004
5 juin 2003 à 21:54
Pas mal le script man !

Pour Maguma je le cherché lé trouvé sur eMule, domage qu'il soit pas en fr !
mathieumg Messages postés 558 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 18 février 2006
3 juin 2003 à 13:44
Ou as-tu trouvé le programme maguma studio, cela me semble intéressant.

Merci

Bye

Mathieu M-G
Afficher les 7 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.