[Icfp04-discuss] ant language

Sergio Garcia sergio.garcia at imag.fr
Mon Jun 7 12:29:06 EDT 2004


This is how our ant-language looks like :
;; Ant ant called bully:

;;some general  functions
(function (ant-freeze)
  (flip 1 (ant-freeze)))

(function (dotimes i action)
  (unless (zero? i)
    action
    (dotimes (- i 1) action)))

(function (main)
  (flip 6 (main-move))
  (turn Left)
  (main))

(function (main-move)
          (dotimes 3 (move (main)))
          (avance-til Food Left Right (pick-and-back)))

(function (do-random-2 op1 op2)
          (flip 2 (progn op1 (return))) ; if op1 es executed, do-random will
return.
          op2)
;;; pre:  im on a cell with food
(function (pick-and-back)
          (sense Here Home #f (main))
          (pickup (avance-til Food Left Right (pick-and-back)))
          (dotimes 3 (turn Right))
          (avance-til Home Right Left
                      (progn
                       (flip 5 (progn (move (noop)) (move (noop)) (move
(noop)) (drop) (ant-freeze)))
                       (progn (move (noop)) (move (noop)) (move (noop))
(drop) (main))
                      )))
(function (avance-til goal bounce rebounce action)
  (sense Here goal #f action)
  (sense Ahead Rock #f (progn (flip 20(turn bounce)) (turn bounce)) )
  (flip 20 (sense Ahead Friend #f (turn bounce)))
  (move (flip 5 (progn (turn bounce) (turn bounce) (move (noop)) (turn
rebounce) (turn rebounce) (avance-til goal bounce reb\
ounce action))))
  (avance-til goal bounce rebounce action))

(show-all "bully.ant")





More information about the Icfp04-discuss mailing list