Вот как я сделал мозг крабику, вроде не жалуется:
Function UpdateCrab()
For cr.crab=Each crab
If MilliSecs()-tcr>200 Then
tcr=MilliSecs()
chn=Rnd(50)
If chn=1 Then
crdeltax#=1
crdeltay#=0
cr\image=crab90
EndIf
If chn=2 Then
crdeltax#=-1
crdeltay#=0
cr\image=crab270
EndIf
If chn=3 Then
crdeltax#=0
crdeltay#=1
cr\image=crab180
EndIf
If chn=4 Then
crdeltax#=0
crdeltay#=-1
cr\image=crab
EndIf
If chn>4 Then
crdeltax#=0
crdeltay#=0
EndIf
EndIf
crpx=cr\x+crdeltax*crspeed
crpy=cr\y+crdeltay*crspeed
If Not CollideStonesCrab(crpx,crpy) Then
cr\x=crpx
cr\y=crpy
EndIf
If ImagesCollide(gert,x,y,frames,crab,cr\x,cr\y,0) Then
php=php-10
EndIf
DrawImage cr\image,cr\x,cr\y
Next
End Function
Function CollideStonesCrab(crpx,crpy)
For w1.swall=Each swall
If ImagesCollide(crab,crpx,crpy,0,w1\image,w1\x,w1\y, 0)
Return True
EndIf
Next
For m.Main=Each Main
If ImagesCollide(crab,crpx,crpy,0,m\stone,m\x, m\y, 0)
Return True
EndIf
Next
For tree.Tree=Each Tree
If ImagesCollide(crab,crpx,crpy,0,tree\tree1,tree\x,tree\y, 0)
Return True
EndIf
Next
Return False
End Function
P.S. Да, знаю что название функции CollideStones хотя там не только камни, но меня как-то это не волнует