diff options
Diffstat (limited to 'model.lisp')
-rw-r--r-- | model.lisp | 20 |
1 files changed, 20 insertions, 0 deletions
@@ -1,5 +1,9 @@ ;;;; model.lisp +(defclass player () + ((name :initarg :name :reader name) + (games :accessor games))) + (defclass game () ((name :initarg :name :reader name) (rating :accessor rating) @@ -9,3 +13,19 @@ (defclass steam-game (game) ((appid :initarg :appid :reader appid))) + +(defmethod print-object ((object steam-game) stream) + (format stream "#<STEAM GAME ~a>" (name object))) + +(defclass feat () + ((game :initarg :game :reader game) + (player :initarg :player :reader player) + (date :accessor date + :initform (multiple-value-list (date-calc:today-and-now))) + (description :accessor description :initform ""))) + +(defclass achievement (feat) + ((name :initarg :name :reader name))) + +(defclass score (feat) + ((points :initarg :points :accessor points))) |