Просмотр файла saper/index.php

Размер файла: 6.76Kb
<?
$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>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>PHP Сапер</title>
<style type='text/css'>
body { font-weight: normal; font-size: normal; font-family: Times New Roman; color: #000000; background-color: #FFFFFF }
a:link,a:active,a:visited { text-decoration: underline; color : #000000 }
a:hover { text-decoration: none; color : #FFFFFF }
div { margin: 1px 0px 1px 0px; padding: 2px 2px 2px 2px; font-size: 12px;}
table { margin: 1px 0px 1px 0px; padding: 1px 1px 1px 1px;}


.a {margin: 1px;
border-top: 4px solid #FFA6A6 ;
 border-left: 4px solid #FFA6A6 ;
  border-right: 2px solid #FFFFFF;
   border-bottom: 2px solid #FFFFFF;
    padding: 2px;
     vertical-align: middle;
      background-color: #FFB3B3;
       font-size: 11px;
        color: #000000; }


                .b {margin: 1px; border-top: 2px solid #FFA6A6;
                 border-left: 2px solid #FFA6A6;
                  border-right: 2px solid #FFFFFF;
                   border-bottom: 2px solid #FFFFFF;
                    padding: 1px; vertical-align: middle; }


                              .c {margin: 1px; border-top: 7px solid #FFA6A6;
                               border-left: 7px solid #FFA6A6;
                                border-right: 7px solid #FFFFFF;
                                 border-bottom: 7px solid #FFFFFF;
                                  padding: 5px;
                                   vertical-align: middle;
                                    background-color: #FFB3B3;
                                      font-size: 11px;
                                      color: #000000;}


.d {background-color: #FFFF00;
  text-align: center; font-size:
   12px;
    color: #000000; }</style></head>
<body bgcolor=\"#000000\"><!--MADE BY JekaNN-->
</style>
</head>
<body>
<center>
<font size=4><b><div class=a>PHP Сапер</div></b>

<?
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?>
<table align=center>
<tr>
<td><div class=a>Столбцы: </td><td><input type=text name=Row value=<?=$Row?> size=2></td>
</tr>
<tr>
<td><div class=a>Ряды: </td><td><input type=text name=Col value=<?=$Col?> size=2></td>
</tr>
<tr>
<td><div class=a>Мины: </td><td><input type=text name=Mine value=<?=$Mine?> size=2></td>
</tr>
</table>

<p><input type=submit name=submit1 value='Играть'>
<input type=hidden name=generer value=1>
</form><hr>
<font size=2><div class=a>&copy;2005 <a href=http://webzona.ru>mysite.RU</div></a></font>
</center>
</body>
</html>