src/entities/food.lisp @ b1c0b37e9c86
Tweak
author |
Steve Losh <steve@stevelosh.com> |
date |
Sun, 08 Jan 2017 00:31:45 +0000 |
parents |
9dbe31fef037 |
children |
f377744f622c |
(in-package :ap.entities)
(defparameter *foods*
(concatenate 'vector
(read-file-into-form "data/vegetables.lisp")
(read-file-into-form "data/meat.lisp")))
(define-entity food (visible coords holdable)
(energy :accessor food/energy :initarg :food/energy))
(defun random-food-energy ()
(random-range 30.0 80.0))
(defun random-food-description ()
(format nil "a ~A of ~A"
(random-elt #("can" "tin" "package"))
(random-elt *foods*)))
(defun make-food (x y)
(create-entity 'food
:coords/x x
:coords/y y
:visible/glyph "%"
:visible/color ap::+yellow-black+
:holdable/description (random-food-description)
:food/energy (random-food-energy)))