summaryrefslogtreecommitdiffstats
path: root/src/player.lisp
diff options
context:
space:
mode:
authorEl-BG-1970 <elouan.gros.fr@gmail.com>2022-07-27 17:50:07 +0200
committerEl-BG-1970 <elouan.gros.fr@gmail.com>2022-07-27 17:50:07 +0200
commitbf191a6f96f19adc74879bc543da3a7027c498da (patch)
treed493855e8af162f130938d4f2f54a159aef2555d /src/player.lisp
downloadtransacc-bf191a6f96f19adc74879bc543da3a7027c498da.tar.gz
first commit
Diffstat (limited to 'src/player.lisp')
-rw-r--r--src/player.lisp36
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))