summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
Diffstat (limited to 'examples')
-rw-r--r--examples/action.scm39
-rw-r--r--examples/pong.scm82
-rw-r--r--examples/rewrite-test.scm52
-rw-r--r--examples/scenes.scm60
4 files changed, 0 insertions, 233 deletions
diff --git a/examples/action.scm b/examples/action.scm
deleted file mode 100644
index b2a43b6..0000000
--- a/examples/action.scm
+++ /dev/null
@@ -1,39 +0,0 @@
-(use-modules (2d actions)
- (2d agenda)
- (2d coroutine)
- (2d game)
- (2d scene)
- (2d sprite)
- (2d stage)
- (2d vector2))
-
-(define (enter sprite)
- (let ((size (game-resolution actions-demo)))
- (schedule-action
- (action-parallel
- ;; Move horizontally across the screen in 60 frames.
- (lerp (lambda (x)
- (set-sprite-position!
- sprite
- (vector2 x (/ (vy size) 2))))
- 0 (vx size) 60)
- ;; Rotate 1080 degrees in 120 frames.
- (lerp (lambda (angle)
- (set-sprite-rotation! sprite angle))
- 0 360 120)))))
-
-(define actions-scene
- (make-scene
- "Actions"
- #:init (lambda ()
- (load-sprite "images/ghost.png"
- #:position (vector2 320 240)))
- #:enter enter
- #:draw draw-sprite))
-
-(define actions-demo
- (make-game
- #:title "Actions"
- #:first-scene actions-scene))
-
-(run-game actions-demo)
diff --git a/examples/pong.scm b/examples/pong.scm
deleted file mode 100644
index 5ff1979..0000000
--- a/examples/pong.scm
+++ /dev/null
@@ -1,82 +0,0 @@
-(use-modules (srfi srfi-1)
- (srfi srfi-9)
- (2d color)
- (2d game)
- (2d keyboard)
- (2d math)
- (2d rect)
- (2d signals)
- (2d sprite)
- (2d texture)
- (2d time)
- (2d vector2)
- (2d window))
-
-(define-record-type <paddle>
- (%make-paddle y)
- paddle?
- (y paddle-y)
- (speed paddle-speed))
-
-(define-record-type <ball>
- (make-ball position velocity)
- ball?
- (position ball-position)
- (velocity ball-velocity))
-
-(define window-width 640)
-(define window-height 480)
-(define half-width (/ window-width 2))
-(define half-height (/ window-height 2))
-
-(with-window (make-window #:title "FRP is cool"
- #:resolution (vector2 window-width
- window-height)
- #:fullscreen? #f)
- (define paddle-texture (load-texture "images/paddleBlue.png"))
- (define ball-texture (load-texture "images/ballBlue.png"))
-
- (define paddle-speed 5)
- (define ball-speed 4)
- (define ball-hitbox (make-rect -8 -8 16 16))
-
- (define (move-paddle directions)
- (signal-fold (lambda (new old)
- (clamp 0 window-height (+ (* new paddle-speed) old)))
- half-height
- (signal-lift vy (time-every directions))))
-
- (define player1-paddle (move-paddle key-wasd))
- (define player2-paddle (move-paddle key-arrows))
-
- (define (wall-bounce position)
- (let ((rect (rect-move ball-hitbox position)))
- (cond ((> (rect-bottom rect) window-height)
- (vector2 (vx position)
- (- (vy position))))
- (else
- position))))
-
- (define ball (signal-fold (lambda (direction position)
- (wall-bounce (v+ (vscale direction ball-speed) position)))
- (vector2 half-width half-height)
- (time-every (make-signal #:init (vector2 1 1)))))
-
- (define quit-on-esc
- (signal-lift (lambda (down?)
- (when down?
- (quit-game)))
- (key-down? 'escape)))
-
- (define draw
- (let ((paddle-sprite (make-sprite paddle-texture))
- (ball-sprite (make-sprite ball-texture)))
- (lambda ()
- (set-sprite-position! paddle-sprite (vector2 0 (signal-ref player1-paddle)))
- (draw-sprite paddle-sprite)
- (set-sprite-position! paddle-sprite (vector2 window-width (signal-ref player2-paddle)))
- (draw-sprite paddle-sprite)
- (set-sprite-position! ball-sprite ball)
- (draw-sprite ball-sprite))))
-
- (run-game #:draw draw))
diff --git a/examples/rewrite-test.scm b/examples/rewrite-test.scm
deleted file mode 100644
index 760afb0..0000000
--- a/examples/rewrite-test.scm
+++ /dev/null
@@ -1,52 +0,0 @@
-(use-modules (srfi srfi-1)
- (2d color)
- (2d game)
- (2d keyboard)
- (2d signals)
- (2d sprite)
- (2d texture)
- (2d time)
- (2d vector2)
- (2d window))
-
-(with-window (make-window #:title "FRP is cool"
- #:resolution (vector2 640 480)
- #:fullscreen? #f)
- (define speed 4)
-
- ;; Move when arrow keys are pressed.
- (define move
- (signal-fold (lambda (direction position)
- (v+ (vscale direction speed) position))
- (vector2 320 240)
- (time-every key-arrows)))
-
- (define ghost-texture (load-texture "images/ghost.png"))
-
- (define ghost (make-sprite ghost-texture #:position move))
-
- (define follower-count 8)
-
- (define followers
- (list-tabulate
- follower-count
- (lambda (i)
- (make-sprite ghost-texture
- ;; Follow ghost with some delay.
- #:position (time-delay (* (- follower-count i) 10) move)
- ;; Make each ghost more translucent than the last.
- #:color (let ((alpha (/ (1+ i)
- (* 2 follower-count))))
- (make-color 1 1 1 alpha))))))
-
- (define quit-on-esc
- (signal-lift (lambda (down?)
- (when down?
- (quit-game)))
- (key-down? 'escape)))
-
- (define (draw)
- (for-each draw-sprite followers)
- (draw-sprite ghost))
-
- (run-game #:draw draw))
diff --git a/examples/scenes.scm b/examples/scenes.scm
deleted file mode 100644
index 46d9956..0000000
--- a/examples/scenes.scm
+++ /dev/null
@@ -1,60 +0,0 @@
-(use-modules (2d game)
- (2d scene)
- (2d stage)
- (2d sprite)
- (2d vector2))
-
-;; Press the RETURN key to toggle between the 2 scenes.
-
-;;;
-;;; Scene 1
-;;;
-
-(define (make-sprite-1)
- (load-sprite "images/ghost.png"
- #:position (vector2 320 240)))
-
-(define (scene-1-key-down sprite key mod unicode)
- (when (eq? key 'return)
- (replace-scene scene-2)))
-
-(define scene-1
- (make-scene
- "Scene 1"
- #:init make-sprite-1
- #:enter (lambda (sprite) (display "Enter Scene 1\n"))
- #:exit (lambda (sprite) (display "Exit Scene 1\n"))
- #:draw draw-sprite
- #:events (append
- (default-events)
- `((key-down . ,scene-1-key-down)))))
-
-;;;
-;;; Scene 2
-;;;
-
-(define (make-sprite-2)
- (load-sprite "images/stars.png"
- #:position (vector2 320 240)))
-
-(define (scene-2-key-down sprite key mod unicode)
- (when (eq? key 'return)
- (replace-scene scene-1)))
-
-(define scene-2
- (make-scene
- "Scene 2"
- #:init make-sprite-2
- #:enter (lambda (sprite) (display "Enter Scene 2\n"))
- #:exit (lambda (sprite) (display "Exit Scene 2\n"))
- #:draw draw-sprite
- #:events (append
- (default-events)
- `((key-down . ,scene-2-key-down)))))
-
-(define scenes-demo
- (make-game
- #:title "Scenes"
- #:first-scene scene-1))
-
-(run-game scenes-demo)