File size: 5.08Kb
<?
include"../configs.php";
include"../style/verh.php";
echo'<div class="menu">';
$scr=$PHP_SELF;
$max=25; //Максимальное число столбцов или строк
$min=5; //минимальное количество строк, столбцов или мин
$cd=7;
$rd=7;
$md=10;
session_start();
function otkr($xo, $yo){
global $kl, $c, $ko, $k, $Row, $Col;
$p=1;
$x=$xo-$p;
$y=$yo-$p;
$cc=1;
$k=0;
$kk=0;
while($cc<5){
if(!$kl[$x][$y]){
$c[$x][$y]="<img src=b.gif border=0>";
$ko[$x][$y]=1;
}elseif($kl[$x][$y]>=1){
$c[$x][$y]=$kl[$x][$y];
$ko[$x][$y]=1;
}
if($cc==1){
$x++; if($x==($xo+$p) || $x>=$Col){$cc=2;}
}elseif($cc==2){
$y++; if($y==($yo+$p)){$cc=3;}
}elseif($cc==3){
$x--; if($x==($xo-$p)){$cc=4;}
}elseif($cc==4){
$y--; if($y==($yo-$p)){$cc=5;}
}
}
}
?>
<html>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Сапёр</title>
<?
if (!$submit1 && $Row<$min) {
session_unset();
session_register('kl', 'kp', 'ko', 'Row', 'Col', 'Mine', 'time');
$Mine=$md;
$Row=$rd;
$Col=$cd;
$g=1;
}elseif($submit1){
session_unset();
session_register('kl', 'kp', 'ko', 'Row', 'Col', 'Mine', 'time');
$Row=$_POST['Row'];
$Col=$_POST['Col'];
$Mine=$_POST['Mine'];
if (($Row<$min) || ($Col<$min) || ($Mine<$min)) {
$Mine=$md;
$Row=$rd;
$Col=$cd;
}
$g=1;
}
if($Row>$max){$Row=$max;}
if($Col>$max){$Col=$max;}
if($Mine>Round(($Row*$Col*0.75), 0)){$Mine=Round(($Row*$Col*0.75), 0);}
$click=0;
if($g==1){
$ii=0;
for($i=0; $i<($Row*$Col); $i++){
if($ii<$Mine){
$m[$i]="1";
}else{
$m[$i]="0";
}
$ii++;
}
srand((double)microtime()*100000000);
shuffle($m);
$iii=0; $qq=0;
for($i=0; $i<$Row; $i++){
for($ii=0; $ii<$Col; $ii++){
$c[$ii][$i]="<a href='$scr?xo=$ii&yo=$i'><img src=p.gif border=0></a><a href='$scr?xm=$ii&ym=$i'><img src=m.gif title='Пометить' border=0></a>";
if($m[$iii]==1){$kl[$ii][$i]='*'; $y[$qq]=$i; $x[$qq]=$ii; $qq++;}else{$kl[$ii][$i]='';}
$iii++;
}
}
for($i=0; $i<count($x); $i++){
for($n=$y[$i]-1; $n<=$y[$i]+1; $n++){
for($nn=$x[$i]-1; $nn<=$x[$i]+1; $nn++){
if($kl[$nn][$n]!='*'){$kl[$nn][$n]++;}
}
}
}
}else{
//Поле уже сгенерировано
$cmine=0;
if($xo!='' && $yo!=''){$ko[$xo][$yo]=1;}
if(!$kl[$xo][$yo] && $xo!='' && $yo!=''){
otkr($xo, $yo);
}
if (count($ko)>0){
foreach($ko as $key=>$value){
if($key>=0 && $key<$Col){
foreach($ko[$key] as $kk=>$val){
if($val==1 && $kk>=0 && $kk<$Row){$click++;}
}
}
}
}
if(!$time){$time=time();}
if(!$kp[$xm][$ym]){$kp[$xm][$ym]=1;}else{unset($kp[$xm][$ym]);}
if($kl[$xo][$yo]=='*'){
$msg="<font color=darkred><div class=a>ПРОИГРЫШ!</div></font>";
for($i=0; $i<$Row; $i++){
for($ii=0; $ii<$Col; $ii++){
$ko[$ii][$i]=1;
}
}
}elseif((($Row*$Col)-$Mine)==$click){
$gtime=time()-$time;
$sch=Round((($Row*$Col*sqrt($Mine))/$gtime)*100);
$msg="<font color=darkred><div class=a>ВЫИГРЫШ! СЧЕТ: $sch ВРЕМЯ: $gtime</div></font>";
for($i=0; $i<$Row; $i++){
for($ii=0; $ii<$Col; $ii++){
$ko[$ii][$i]=1;
}
}
}
for($i=0; $i<$Row; $i++){
for($ii=0; $ii<$Col; $ii++){
if($ko[$ii][$i]==1){
$c[$ii][$i]=$kl[$ii][$i];
if(!$kl[$ii][$i]){
$c[$ii][$i]="<img src=b.gif border=0>";
}elseif($kl[$ii][$i]=='*'){
$c[$ii][$i]="<img src=mn.gif>";
}
}elseif($kp[$ii][$i]==1){
$c[$ii][$i]="<a href='$scr?xo=$ii&yo=$i'><img src=fl.gif border=0></a><a href='$scr?xm=$ii&ym=$i'><img src=m.gif title='Снять метку' border=0></a>";
$cmine++;
}else{
$c[$ii][$i]="<a href='$scr?xo=$ii&yo=$i'><img src=p.gif border=0></a><a href='$scr?xm=$ii&ym=$i'><img src=m.gif title='Пометить' border=0></a>";
}
}
}
//Поле уже сгенерировано
}
if(!$msg){$msg="Осталось мин: ".($Mine-$cmine);}
echo "<table align=center border=1 cellpadding=1>";
for($i=0; $i<$Row; $i++){
echo "<tr>";
for($ii=0; $ii<$Col; $ii++){
echo "<td width=20 height=20>{$c[$ii][$i]}</td>";
}
echo "</tr>";
}
echo "</table><b><div align=center>$msg</div></b>";
?></div>
<form method=post action=<?=$scr?>
<div class=a>Столбцы: <input type=text name=Row value=<?=$Row?> size=2>
<div class=a>Ряды: <input type=text name=Col value=<?=$Col?> size=2>
<div class=a>Мины: <input type=text name=Mine value=<?=$Mine?> size=2>
<input type=submit name=submit1 value='Играть'>
<input type=hidden name=generer value=1>
</form><hr>
</body>
</html>
<?php
echo'</div>';
include"../style/niz.php";
?>