Skip to content

Instantly share code, notes, and snippets.

@gazliddon
Last active December 17, 2015 00:19
Show Gist options
  • Save gazliddon/0b86bf39e495ee275229 to your computer and use it in GitHub Desktop.
Save gazliddon/0b86bf39e495ee275229 to your computer and use it in GitHub Desktop.
Functional game loop
(def fps 60)
(def delta (1.0 / fps))
(defn game-loop [time input world enemies player]
(let [
new_world (create-world world time)
new_player (create-player player input time new_world)
new_enemies (create-enemies enemies new_player new_world)
final_player (collide-player new_player new_enemies)
])
(draw world final_player new_enemies new_world)
(game-loop (+ time delta) (get_input) new_world new_enemies final_player)
)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment