]> git.jsancho.org Git - gacela.git/commitdiff
New module for reactive and rate based behaviour
authorJavier Sancho <jsf@jsancho.org>
Sat, 29 Apr 2017 15:20:43 +0000 (17:20 +0200)
committerJavier Sancho <jsf@jsancho.org>
Sat, 29 Apr 2017 15:20:43 +0000 (17:20 +0200)
gacela.scm
gacela/react.scm [new file with mode: 0644]

index 2ed1e6a5c01f27e7e353d31c0e74ee7457904b55..d0484bf60551fae88d7e8f826714b47ac999b564 100644 (file)
@@ -26,6 +26,7 @@
        (gacela image)
        (gacela game)
        (gacela math)
+        (gacela react)
        (gacela scene)
        (gacela window)))
 
diff --git a/gacela/react.scm b/gacela/react.scm
new file mode 100644 (file)
index 0000000..e9d0668
--- /dev/null
@@ -0,0 +1,39 @@
+;;; Gacela, a GNU Guile extension for fast games development
+;;; Copyright (C) 2017 by Javier Sancho Fernandez <jsf at jsancho dot org>
+;;;
+;;; This program 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.
+;;;
+;;; This program 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 this program.  If not, see <http://www.gnu.org/licenses/>.
+
+
+(define-module (gacela react)
+  #:use-module (gacela scene)
+  #:export (context
+            at-rate))
+
+(define-syntax context
+  (syntax-rules ()
+    ((_ ((variable value)
+         ...)
+        scene)
+     (make-scene
+      "context"
+      (let* ((variable value)
+             ...)
+        (lambda ()
+          (begin
+            (set! variable value)
+            ...)
+          (display-scene scene)))))))
+
+(define (at-rate value)
+  0)