"; 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" "; usleep (200000); // затримка 1/5 секунди Header('Refresh: 0'); // оновлення сторінки ?>