]> git.jsancho.org Git - gacela.git/commitdiff
(no commit message)
authorjsancho <devnull@localhost>
Fri, 26 Aug 2011 07:04:56 +0000 (07:04 +0000)
committerjsancho <devnull@localhost>
Fri, 26 Aug 2011 07:04:56 +0000 (07:04 +0000)
emacs/emacs.conf [deleted file]
emacs/emacs_conf.lisp [new file with mode: 0644]
gacela_tetris.scm
games/asteroids/asteroids.scm [new file with mode: 0644]

diff --git a/emacs/emacs.conf b/emacs/emacs.conf
deleted file mode 100644 (file)
index 65645a5..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-;;; Gacela configuration
-
-(defun launch-gacela ()
-  (interactive)
-  (start-process "gacela" "gacela" "/home/jsancho/proyectos/gacela/trunk/src/gacela" "--dev"))
-
-(defun send-to-gacela ()
-  (interactive)
-  (cond ((not (get-process "gacela"))
-        (launch-gacela)))
-  (cond ((use-region-p)
-        (process-send-region "gacela" (region-beginning) (region-end)))
-       (t
-        (process-send-region "gacela" (point-min-marker) (point-max-marker)))))
-
-(define-key global-map [(ctrl x) (ctrl g)] 'send-to-gacela)
-
-(define-key-after global-map [menu-bar tools gacela] (cons "Gacela" (make-sparse-keymap "hoot hoot")) 'games)
-(define-key global-map [menu-bar tools gacela send] '("Send to Gacela" . send-to-gacela))
-(define-key global-map [menu-bar tools gacela launch] '("Launch Gacela" . launch-gacela))
-
diff --git a/emacs/emacs_conf.lisp b/emacs/emacs_conf.lisp
new file mode 100644 (file)
index 0000000..296c467
--- /dev/null
@@ -0,0 +1,22 @@
+;;; Gacela configuration
+
+(defun launch-gacela ()
+  (interactive)
+  (start-process "gacela" "gacela" "/home/jsancho/proyectos/gacela/trunk/src/gacela" "--dev"))
+
+(defun send-to-gacela ()
+  (interactive)
+  (cond ((not (get-process "gacela"))
+        (launch-gacela)))
+  (cond ((use-region-p)
+        (process-send-region "gacela" (region-beginning) (region-end)))
+       (t
+        (process-send-region "gacela" (point-min-marker) (point-max-marker))))
+  (process-send-string "gacela" "\n"))
+
+(define-key global-map [(ctrl x) (ctrl g)] 'send-to-gacela)
+
+(define-key-after global-map [menu-bar tools gacela] (cons "Gacela" (make-sparse-keymap "hoot hoot")) 'games)
+(define-key global-map [menu-bar tools gacela send] '("Send to Gacela" . send-to-gacela))
+(define-key global-map [menu-bar tools gacela launch] '("Launch Gacela" . launch-gacela))
+
index 63e0fc7669e258c44fb00b108d24f3e90453aedc..d27a08608fd0bb0393b22e83d585d8476d56a958 100644 (file)
          (translate 0 -30)
          (render-text (format #f "Lines: ~a" (get-lines)) font))))
 
-(define (run-gacela-tetris)
-  (let ((frame 0.0) (fps (make-timer)) (update (make-timer)))
-    (start-timer update)
-    (start-timer fps)
-    (run-game
-     (game)
-     (set! frame (+ frame 1))
-     (cond ((> (get-time update) 1000)
-           (display (/ frame (/ (get-time fps) 1000.0)))
-           (newline)
-           (start-timer update))))))
+(let ((frame 0.0) (fps (make-timer)) (update (make-timer)))
+  (start-timer update)
+  (start-timer fps)
+  (run-game
+   (game)
+   (set! frame (+ frame 1))
+   (cond ((> (get-time update) 1000)
+         (display (/ frame (/ (get-time fps) 1000.0)))
+         (newline)
+         (start-timer update)))))
diff --git a/games/asteroids/asteroids.scm b/games/asteroids/asteroids.scm
new file mode 100644 (file)
index 0000000..a1e23f6
--- /dev/null
@@ -0,0 +1,23 @@
+(set-game-properties! #:title "Gacela Asteroids")
+
+(define draw-asteroid
+  (let ((asteroid (load-texture "Asteroid.png")))
+    (lambda (a)
+      (to-origin)
+      (translate (car a) (cadr a))
+      (draw-texture asteroid))))
+
+(define (move-asteroid a)
+  (let* ((x (car a)) (y (cadr a))
+        (vx (caddr a)) (vy (cadddr a))
+        (nx (+ x vx)) (ny (+ y vy)))
+    (cond ((> nx 320) (set! vx -1))
+         ((< nx -320) (set! vx 1)))
+    (cond ((> ny 240) (set! vy -1))
+         ((< ny -240) (set! vy 1)))
+    (list (+ x vx) (+ y vy) vx vy)))
+
+(let ((asteroids '((100 100 1 1) (-100 -100 -1 1))))
+  (run-game
+   (set! asteroids (map move-asteroid asteroids))
+   (for-each draw-asteroid asteroids)))