diff options
Diffstat (limited to 'src/player.lisp')
| -rw-r--r-- | src/player.lisp | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/src/player.lisp b/src/player.lisp new file mode 100644 index 0000000..f6ee371 --- /dev/null +++ b/src/player.lisp @@ -0,0 +1,36 @@ +(defpackage player + (:use :cl) + (:export :init-player + :name)) + +(in-package :player) + +(defclass inventory () + ((size :initarg :size + :reader size) + (filled :initform 0 + :accessor filled) + (items :initform '() + :accessor items))) + +(defclass player () + ((name :initarg :name + :reader name) + (cash :initarg :cash + :accessor cash) + (debt :initarg :debt + :accessor debt) + (hp :initform 100 + :accessor hp) + (clout :initform 0 + :accessor clout) + (stash :initform 0 + :accessor stash) + (stock :initform (make-instance 'inventory :size 100) + :accessor stock))) + +(defun init-player (name &optional (cash 2000) (debt 5000)) + (make-instance 'player + :name name + :cash cash + :debt debt)) |
