Lisp Game Programming <Step11-3>
3番目は爆発したshipの復活処理で、リバイバルカウンターが200になったら、shipのstateを1(alive)に変更する
;; Step11 <Revive Ship>
;; -----------------------------------------------------------------------------------------------
(defgeneric Revive-counter (ship))
(defmethod Revive-counter (ship)
(when (= (state ship) 3) ; ship is reviving
(incf (revival-cnt ship) 1)
(when (= (revival-cnt ship) 200)
(setf (state ship) 1))))