summaryrefslogtreecommitdiff
path: root/lisparuga/world.scm
diff options
context:
space:
mode:
authorDavid Thompson <dthompson2@worcester.edu>2016-05-15 20:11:58 -0400
committerDavid Thompson <dthompson2@worcester.edu>2016-05-15 20:12:49 -0400
commit2fce9e80092c28b51d2d8795ca04fecb43aed277 (patch)
tree441744189ced3e8a14186f28555e0b28b13c6521 /lisparuga/world.scm
parent4bd5d6c93f6969fd417780b92cc5d2da4d699771 (diff)
Extract data types into their own modules.
Diffstat (limited to 'lisparuga/world.scm')
-rw-r--r--lisparuga/world.scm42
1 files changed, 42 insertions, 0 deletions
diff --git a/lisparuga/world.scm b/lisparuga/world.scm
new file mode 100644
index 0000000..6c7b431
--- /dev/null
+++ b/lisparuga/world.scm
@@ -0,0 +1,42 @@
+;;; Lisparuga
+;;; Copyright © 2016 David Thompson <davet@gnu.org>
+;;;
+;;; Lisparuga is free software: you can redistribute it and/or modify
+;;; it under the terms of the GNU General Public License as published
+;;; by the Free Software Foundation, either version 3 of the License,
+;;; or (at your option) any later version.
+;;;
+;;; Lisparuga is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+;;; General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with Lisparuga. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (lisparuga world)
+ #:use-module (sly actor)
+ #:use-module (sly records)
+ #:use-module (lisparuga player)
+ #:use-module (lisparuga stats)
+ #:use-module (lisparuga utils)
+ #:export (make-world
+ world?
+ world-waves
+ world-stats
+ world-player
+ world-player-bullets
+ world-enemies
+ world-enemy-bullets
+ world-explosions))
+
+(define-record-type* <world>
+ %make-world make-world
+ world?
+ (waves world-waves #f)
+ (stats world-stats (make-stats))
+ (player world-player (make-actor (make-player) idle))
+ (player-bullets world-player-bullets '())
+ (enemies world-enemies '())
+ (enemy-bullets world-enemy-bullets '())
+ (explosions world-explosions '()))