(import-macros {: incf} :sample-macros) (var counter 0) (var time 0) (love.graphics.setNewFont 30) (local sheet (love.graphics.newImage "images/MRMOTEXT.png")) (fn split-images [sheet height width] (var images {}) (var count 0) (for [y 0 (- (sheet:getHeight) height) height] (for [x 0 (- (sheet:getWidth) width) width] (tset images count (love.graphics.newQuad x y width height (sheet:getDimensions))) (set count (+ count 1)) )) images) (local sprites (split-images sheet 8 8)) (fn get-image [sprites row column] (. sprites (+ (* 32 row) column))) (local player (get-image sprites 13 1)) (var player-data {:x 100 :y 100}) (fn get-player-x [] (. player-data :x)) (fn get-player-y [] (. player-data :y)) {:draw (fn draw [message] (local (w h _flags) (love.window.getMode)) (love.graphics.draw sheet player (get-player-x) (get-player-y) 0 2 2) ) :update (fn update [dt set-mode] (incf time dt)) :keypressed (fn keypressed [key set-mode] (if (love.keyboard.isDown ".") (tset player-data :y (- (. player-data :y) 8))) (if (love.keyboard.isDown "e") (tset player-data :y (+ (. player-data :y) 8))) (if (love.keyboard.isDown "u") (tset player-data :x (+ (. player-data :x) 8))) (if (love.keyboard.isDown "o") (tset player-data :x (- (. player-data :x) 8))) )}