UNKNOWN //************************************** // Name: PHP Mine // Description:PHP version of famous "Minesweeper" game by Microsoft by Mathias Daval // By: PHP Code Exchange // // // Inputs:None // // Returns:None // //Assumes:None // //Side Effects:None //************************************** <? /*/////// PHPMINE v1.0 ///////// // Copyright 2000, Kidou / PHPVault (http://www.phpvault.com) ////////////////////////////////////////////////////////////////////////// // Ce script est un freeware. Vous pouvez l'utiliser et le modifier librement, mais vous devez laisser le copyright. Merci de me faire savoir si vous trouvez ce script utile. (mathias@phpvault.com) // PHPMine est une version PHP du célèbre jeu "Démineur" de Mirosoft. ///////////////////////////////////////////////////////////////////////// // This script is a freeware. You can use it and modify it freely as long as you leave the copyright. Please tell me if you find this script useful (mathias@phpvault.com) // PHPMine is a PHP version of famous game "Minesweeper" by Microsoft. /////////////////////////////////////////////////////////////////////////*/ print "<html>"; print "<head>"; print "<title>PHPVault's PHPMine v1.0</title>"; print "</head>"; print "<body><center>"; print "<font size="4" face="Verdana"><b>PHPMine v1.0</b>"; if ($submit=="") { $NumMine=4; $RowSize=5; $ColSize=5; $generer=1; } if ($generer==1) { srand((double)microtime()*100000000); $time_start=time(); if (($RowSize&lt;=1) || ($ColSize&lt;=1) || ($NumMine==0)) { print "<p><br><font size="-1" color="red">Wrong number for Rows, Cols or Mines!</font>"; exit; } if ($NumMine &gt; $RowSize*$ColSize) { print "<p><br><font size="-1" color="red">Too many mines!</font>"; exit; } for ($Row=1;$Row&lt;=$RowSize;$Row++) { for ($Col=1;$Col&lt;=$ColSize;$Col++) { $Mine[$Row][$Col]="0"; $Decouv[$Row][$Col]="0"; } } $index=0; while ($index&lt;$NumMine) { $Row=rand(1,$RowSize); $Col=rand(1,$ColSize); if ($Mine[$Row][$Col]=="0") { $Mine[$Row][$Col]="1"; $index++; } } } else { $perdu=0; $reste=$RowSize*$ColSize; for ($Row=1;$Row&lt;=$RowSize;$Row++) { for ($Col=1;$Col&lt;=$ColSize;$Col++) { $temp="Mine".($Row*($ColSize+1)+$Col); $Mine[$Row][$Col]=$$temp; $temp="Decouv".($Row*($ColSize+1)+$Col); $Decouv[$Row][$Col]=$$temp; if ($Decouv[$Row][$Col]=="1") {$reste=$reste-1;} $temp="submit".($Row*($ColSize+1)+$Col); if ($$temp=="ok") { $reste=$reste-1; if ($Mine[$Row][$Col]=="0") { $Decouv[$Row][$Col]="1"; } else { $perdu=1; } } } } if ($perdu==1) { print "<h2>You Lose!</h2>"; for ($i=1;$i&lt;=$RowSize;$i++) { for ($j=1;$j&lt;=$ColSize;$j++) { $Decouv[$i][$j]="1"; } } } if (($reste==$NumMine)&&($perdu!=1)) { print "<h2>You Win!</h2>"; $time_stop=time(); $time=$time_stop-$time_start; print "<p><font size="-1"><i>Your score: $time</i></font>"; for ($i=1;$i&lt;=$RowSize;$i++) { for ($j=1;$j&lt;=$ColSize;$j++) { $Decouv[$i][$j]="1"; } } } } print "<form method="get" action="/">"; print "<input type="hidden" name="time_start" value="$time_start">"; print "<input type="hidden" name="NumMine" value="$NumMine">"; print "<input type="hidden" name="RowSize" value="$RowSize">"; print "<input type="hidden" name="ColSize" value="$ColSize">"; print "<input type="hidden" name="generer" value="0">"; print "<p><table border="1" cellpadding="8">"; for ($Row=1; $Row&lt;=$RowSize; $Row++) { print "<tr>"; for ($Col=1; $Col&lt;=$ColSize; $Col++) { $nb=0; for ($i=-1; $i&lt;=1; $i++) { for ($j=-1; $j&lt;=1; $j++) { if ($Mine[$Row+$i][$Col+$j] == "1") { $nb++; } } } print "<td width="15" height="15" align="center" valign="middle">"; if ($Decouv[$Row][$Col]=="1") { if ($nb==0) { print "&nbsp;"; } else { if ($Mine[$Row][$Col]=="1") { print "*"; } else { print "$nb"; } } } else { print "<input type="hidden" name="submit" value="ok">"; print "<input type="submit" name="submit&quot;.($Row*($ColSize+1)+$Col).&quot;" value="ok">"; } print "<input type="hidden" name="Mine&quot;.($Row*($ColSize+1)+$Col).&quot;" value=".$Mine[$Row][$Col].">"; print "<input type="hidden" name="Decouv&quot;.($Row*($ColSize+1)+$Col).&quot;" value=".$Decouv[$Row][$Col].">"; print "</td>"; } print "</tr>"; } print "</table>"; print "</form>"; ?&gt; <hr> <form method="post"> Rows : &nbsp;<input type="text" name="RowSize" value="5" size="2"> <br>Cols : &nbsp;<input type="text" name="ColSize" value="5" size="2"> <br>Mines : &nbsp;<input type="text" name="NumMine" value="4" size="2"> <p><input type="submit" name="submit" value="Generate"> <input type="hidden" name="generer" value="1"> </form> <p> <center><font size="-2">(c) 2000, <a href="http://www.phpvault.com/">PHPVault</a> - All rights reserved<br>Script by <a href="mailto:perso@kidou.net">Kidou</a> </font> </center> </body> </html>