";
if ($i==1)
{ $i= 2;
echo "Гру завершено!
Довжина змійки $n.";
}
echo "
";
$left = $x0*$a + $dw; // зображення "плоду"
$top = $y0*$a + $dh;
for ($j=0; $j<=$n; $j++) echo "
";
// Визначання наступної позиції гри
switch ($z[$n-1])
{ case 0: $xt=$x[$n-1]+1; $yt=$y[$n-1]; break;
case 1: $xt=$x[$n-1]; $yt=$y[$n-1]-1; break;
case 2: $xt=$x[$n-1]-1; $yt=$y[$n-1]; break;
case 3: $xt=$x[$n-1]; $yt=$y[$n-1]+1; break;
}
// перевірка намагання перетнути межу ігрового поля
if ($i == 0)
{ if (($xt<0) || ($xt==$w/$a) ||
($yt<0) || ($yt==$h/$a)) $i=1;
// перевірка намагання самоперетину
if ($i==0)
for ($j=0; ($j<$n-1) && ($i==0); $j++)
if (($x[$j]==$xt) && ($y[$j]==$yt))
$i= 1;
}
if ($i==0)
{ if (($xt==$x0) && ($yt==$y0)) // "поїдання плоду"
{ $x[$n] = $x0;
$y[$n] = $y0;
$z[$n] = $z[$n-1];
$n++;
do { $x0 = rand(0,$w/$a-1); // поява нового сегмента
$y0 = rand(0,$h/$a-1);
$fine = true;
for ($j=0; (($j<$n) && $fine); $j++)
$fine = ($x[$j] != $x0) && ($y[$j] != $y0);
}
while (!$fine);
}
else // продовження руху
{ for ($j=0; $j<$n-1; $j++)
{ $x[$j] = $x[$j+1];
$y[$j] = $y[$j+1];
$z[$j] = $z[$j+1];
}
$x[$n-1] = $xt;
$y[$n-1] = $yt;
}
}
// формування даних для оновлення сторінки
$data = "$w $h $dw $dh $a $da $i $x0 $y0 $n";
for ($j=0; $j<$n; $j++)
{ $x_=$x[$j];
$y_=$y[$j];
$z_=$z[$j];
$data .=" $x_ $y_ $z_";
}
$_SESSION['data']=$data;
echo"