while ($x + $r + $s < $w) { for ($i=0; $i<4; $i++) { switch ($i) { case 0: $j0=$x+$r; $j1=$x+$r+$s; $k0=$y-$r; $k1=$y+$r; $can[0]=($j1<=$w); break; case 1: $j0=$x-$r; $j1=$x+$r; $k0=$y-$r-$s; $k1=$y-$r; $can[1]=(0<=$k0); break; case 2: $j0=$x-$r-$s; $j1=$x-$r; $k0=$y-$r; $k1=$y+$r; $can[2]=(0<=$j0); break; case 3: $j0=$x-$r; $j1=$x+$r; $k0=$y+$r; $k1=$y+$r+$s; $can[3]=($k1<=$h); break; } if ($can[$i]) for ($j=$j0; $j<$j1; $j++) if ($can[$i]) for ($k=$k0; $k<$k1; $k++) if ($can[$i]) { $rgb = ImageColorAt($field, $j, $k); $can[$i] = ($rgb != $yellow); } } switch ($igame) { case 0: if ($can[0]) $x+=$s; else { $igame=1; $tr[count($tr)] = array($x,$y); $xb=$x; $jb=0; if ($can[1]) { $idir=1; $y-=$s;} else if ($can[2]) { $idir=2; $x-=$s;} else { $idir=3; $y+=$s;} } break; case 1: $tr[count($tr)] = array($x,$y); if(($tr[0][0]==$tr[count($tr)-1][0]) && ($tr[0][1]==$tr[count($tr)-1][1])) { $igame=2; if ($jb