1 ;;; Copyright 2009-2011 Christoph Senjak
3 (in-package :uxul-world)
5 (defclass stone (game-object-with-animation)
6 ((animation :initarg :animation
7 :initform (make-animation 0 |gray_stone|)
12 (height :initarg :height
15 (active :initarg :active
18 (redraw :accessor redraw
21 "Defines an object that cannot be passed by enemies or the player or
24 (defclass bottom (stone)
25 ((animation :initarg :animation
26 :initform (make-animation 0 |block|)
28 (width :initarg :width
31 (height :initarg :height
34 (active :initarg :active
37 (redraw :accessor redraw
40 "Defines an object that cannot be passed from the top side, but can be
41 passed from all other sides by the player, enemies and items per
44 (defclass moving-enemy (game-object-with-animation)
45 ((animation :initarg :animation
46 :initform (make-animation 0 |block|)
48 (width :initarg :width
51 (height :initarg :height
54 (active :initarg :active
57 (visible :initarg :visible
60 (redraw :accessor redraw
64 "The default class for moving enemies. This class cannot pass through
65 stones and bottoms, and listens to the player."))
67 (defclass standing-enemy (stone) () (:documentation
68 "The default class for standing enemies."))
70 (defclass standing-item (game-object-with-animation) () (:documentation
71 "The default class for standing items."))
73 (defclass moving-item () () (:documentation
74 "The default class for moving items."))