lispjam24/structs.rkt

24 lines
599 B
Racket

#lang racket/gui
(provide (all-defined-out))
(struct pos (x y))
;for clarity - an x/y pair that represents a dimension instead of a position
(struct dim pos ())
(struct obj (name pos))
(struct item obj (size))
(struct equipment item (type))
(struct weapon equipment (damage))
(struct armor equipment (resistance))
(struct entity obj ((inventory #:mutable)))
(struct creature entity (species
(health #:mutable)
(equipment #:mutable)))
(struct player creature (capacity))
(struct room (pos
size
(contents #:mutable)))