be ant2 cs ht t=timefine start=100 finish=200 d=finish field=mdArray list d d n=20000 antx=(start+finish)/2 anty=(start+finish)/2 jump=5 stepcount=0 framedelay=20 ; setactivearea [-260 -260 260 260] append=false for [a 1 n] [ ifelse (or antxfinish anty>finish) [ print [ant went be far] (pr timefine-t "sec) stop ] [move] if (mod a 20)==0 [ updateGraph ] ] (pr timefine-t "sec) be move ifelse (field.antx).anty==0 [ setfc 0 square jump rt 90 fd jump setitem anty field.antx 1 ][ setfc 7 square jump lt 90 fd jump setItem anty field.antx 0 ] ifelse or heading==90 heading==270 [ ifelse heading==90 [ antx=antx+1 ][ antx=antx-1 ] ][ ifelse heading==0 [ anty=anty+1 ][ anty=anty-1 ] ] end be square size pd local [sh] sh=size/2+0.5 fillRect list -sh -sh list sh sh penup stepcount=stepcount+1 ; if stepcount==framedelay ; [ (gifsave "ant.gif 0 append 0) ; stepcount=0 ; append=true ; ] end end