anchor.diff:     (scanner :initarg :scanner)
      (level :initform 0)
      (score :initform 0)
  -   (state :initform :initial) ;; :initial, :running, :lost
  +   (state :initform :initial) ;; :initial, :starting, :running, :lost
      (time :initform 0)))
   
   (defmethod tick ((instance game))
  
positive.code: 	(:initial
  	 (when (sdl2:scancode= (sdl2:scancode-value keysym) :scancode-space)
  	   (start game)))
  	(:running
  	 (cond ((sdl2:scancode= (sdl2:scancode-value keysym) :scancode-d) (move color-ring -1))
  	       ((sdl2:scancode= (sdl2:scancode-value keysym) :scancode-f) (move color-ring 1))
  	       ((sdl2:scancode= (sdl2:scancode-value keysym) :scancode-j) (move shape-ring -1))
  
negative.code: 
  (defmethod action ((instance game))
    (with-slots (scanner score state time belt level) instance
      (setf state :running)
      (let ((scan (scan scanner))
  	  (select (selection scanner)))
        (if (and (eql (first scan) (first select))
  