]> git.jsancho.org Git - gacela.git/blob - examples/fran.scm
964bbbccf21450f0dd68633fd66f7acbec1f366f
[gacela.git] / examples / fran.scm
1 #!/usr/bin/env guile
2 !#
3
4 ;;; Gacela, a GNU Guile extension for fast games development
5 ;;; Copyright (C) 2016 by Javier Sancho Fernandez <jsf at jsancho dot org>
6 ;;;
7 ;;; This program is free software: you can redistribute it and/or modify
8 ;;; it under the terms of the GNU General Public License as published by
9 ;;; the Free Software Foundation, either version 3 of the License, or
10 ;;; (at your option) any later version.
11 ;;;
12 ;;; This program is distributed in the hope that it will be useful,
13 ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
14 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 ;;; GNU General Public License for more details.
16 ;;;
17 ;;; You should have received a copy of the GNU General Public License
18 ;;; along with this program.  If not, see <http://www.gnu.org/licenses/>.
19
20 (use-modules (gacela))
21
22
23 ;;; Reactive positions
24
25 (define (tick) (* 3000000 (get-internal-real-time)))
26 (define (waggle) (* 200 (+ 1 (cos (* pi (tick))))))
27 (define (wiggle) (* 300 (+ 1 (sin (* pi (tick))))))
28
29 ;;; First example
30
31 (define red (import-bitmap "red.bmp"))
32 (define left-right-red (move-xy wiggle 0 red))
33 (run-scene left-right-red)
34
35 (define blue (import-bitmap "blue.bmp"))
36 (define up-down-blue (move-xy 0 waggle blue))
37 (run-scene up-down-blue)