+
+(define-macro (define-mob mob-head . look)
+ (let ((name (car mob-head)) (attr (cdr mob-head)))
+ `(begin
+ (define ,name #f)
+ (let ((attr ,attr))
+ (set! ,name
+ (lambda (option)
+ (case option
+ ((#:render)
+ (glPushMatrix)
+ ,@(map (lambda (x) (if (string? x) `(draw-image ,x) x)) look)
+ (glPopMatrix)))))))))