(defvar *self* nil)
(defvar *dimensions* nil)
(defvar *topology* :torus)
+(defvar *ticks* nil)
-(defstruct turtle who color heading xcor ycor)
+(defstruct turtle who color heading xcor ycor (label "") (label-color 9.9d0) (size 1d0))
(defstruct patch color xcor ycor)
+
+(defun agent-set-list (agent-set)
+ (cond
+ ((eql agent-set :turtles) *turtles*)
+ ((eql agent-set :patches) *patches*)
+ ((and (listp agent-set) (eql :agent-set (car agent-set))) (cdr agent-set))
+ (t (error "Doesn't seem to be an agent-set: ~A" agent-set))))
+
+(defun agent-set-p (o)
+ (or
+ (eql o :turtles)
+ (eql o :patches)
+ (and (listp o) (eql :agent-set (car o)))))
+
+(defun agent-p (o)
+ (or (turtle-p o) (patch-p o)))