src/entities/player.lisp @ 8961421a3c9b
Let the player move
author |
Steve Losh <steve@stevelosh.com> |
date |
Sat, 07 Jan 2017 16:32:09 +0000 |
parents |
4922d66cbba5 |
children |
f17271ef79b7 |
(in-package :ap.entities)
(defun health-description (health-value)
(cond ((< health-value 0.0) "dead")
((< health-value 10.0) "almost dead")
((< health-value 50.0) "in bad shape")
((< health-value 70.0) "feeling decent")
((<= health-value 100.0) "feeling healthy")))
(defun energy-description (energy-value)
(cond ((< energy-value 0.0) "starving")
((< energy-value 30.0) "famished")
((< energy-value 50.0) "very hungry")
((< energy-value 70.0) "hungry")
((< energy-value 80.0) "peckish")
((<= energy-value 100.0) "full")))
(define-entity player (coords visible)
(health :accessor player/health :initform 100.0)
(energy :accessor player/energy :initform 100.0))
(defun make-player ()
(create-entity 'player
:coords/x (round (* 0.5 ap.generation::*map-size*))
:coords/y (round (* 0.9 ap.generation::*map-size*))
:visible/glyph "@"
:visible/color ap::+black-white+))