 
   dup vel>> move-by
 
-  dup
-    [ speed>> ] [ theta>> { sin cos } <arr> ] bi n*v
-  >>vel
-
-  [ ] [ theta>>   ] [ theta-d>>  ] tri + >>theta
-  [ ] [ theta-d>> ] [ theta-dd>> ] tri + >>theta-d
-  [ ] [ speed>>   ] [ speed-d>>  ] tri * >>speed
-
-  ! 1000 random 997 >
-  3/1000 chance
+  turn
+
+  step-theta
+  step-theta-d
+  step-speed-mul
+
+  1000 random 997 >
     [
       1.0     >>speed-d
       0.00001 >>theta-dd
 
-      ! 100 random 70 >
-      30/100 chance
-        [
-          dim 2 / dup 2array >>pos
-          dup collide
-        ]
-      when
+      100 random 70 > [ dup collide ] when
     ]
   when
 
-  out-of-bounds?
-    [ collide ]
-    [ drop ]
-  if ;
+  out-of-bounds? [ collide ] [ drop ] if ;
 
 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 

  0                                      >>theta-d
  0                                      >>theta-dd

  [ dup theta-dd>> abs 0.00001 < ]
    [ -0.001 0.001 2random >>theta-dd ]
    [ ]
  while

  drop ;


    [ speed>> ] [ theta>> { sin cos } <arr> ] bi n*v
  move-by

  step-theta
  step-theta-d
  step-speed-sub

  out-of-bounds? [ collide ] [ drop ] if ;

! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

