diff --git a/conf.lua b/conf.lua index 9569b7d..bf6f7e2 100644 --- a/conf.lua +++ b/conf.lua @@ -2,6 +2,5 @@ love.conf = function(t) t.gammacorrect = true t.title, t.identity = "Gravity:Fall", "gravity-fall" t.modules.joystick, t.modules.physics = false, false - t.version = "0.10.2" + t.version = "11.2" end - \ No newline at end of file diff --git a/level.fnl b/level.fnl index 19cc2cd..d70c60d 100644 --- a/level.fnl +++ b/level.fnl @@ -13,7 +13,7 @@ (var level-switcher nil) (var level-replay nil) -(defn find-mouse-intersect-planet [planets] +(lambda find-mouse-intersect-planet [planets] (let [x (love.mouse.getX) y (love.mouse.getY)] (lume.first @@ -24,10 +24,10 @@ (<= y1 y y2)) p))))))) -(defn launch-level [level] +(lambda launch-level [level] (set level.state :in-flight)) -(defn reset-level [level] +(lambda reset-level [level] (set level.state :awaiting-launch) (set level.duration 0) (set level.ship (ship.create level.level-info.ship.vx @@ -37,13 +37,13 @@ (each [k p (ipairs level.planets)] (planet.reset p))) -(defn trigger-game-over [level] +(lambda trigger-game-over [level] ;; when game is over due to crash, first the game state goes to ;; :crash, we need to tell the ship that it needs to animate to crash (set level.state :crashed) (ship.trigger-crash level.ship)) -(defn finish-level [level] +(lambda finish-level [level] (ship.fall-into-vortex level.ship [level.level-info.vortex.x level.level-info.vortex.y]) @@ -57,10 +57,10 @@ (set level-switcher switcher) (set level-replay replay) - (set bg-music (love.audio.newSource "assets/alone.mp3")) + (set bg-music (love.audio.newSource "assets/alone.mp3" "static")) (: bg-music :setLooping true) - (set victory-music (love.audio.newSource "assets/victory.mp3")) + (set victory-music (love.audio.newSource "assets/victory.mp3" "static")) (: victory-music :setVolume 0.3)) :create (fn [level-info] @@ -113,7 +113,7 @@ (and (= key "r") (= level.state :complete)) (level-replay))) - + :update (fn [level tt] ;; play music if we are not paying (when (and (not (: bg-music :isPlaying)) @@ -135,7 +135,7 @@ (math.min 10000 (+ level.survival-score-offered (math.floor (* tt 1000))))) - + (set level.duration (+ level.duration tt)) ;; apply any forces due to gravity on the ship @@ -201,14 +201,14 @@ ;; if there's a resource collision add score (set level.resource-score (+ level.resource-score (* 50000 resource-collides))) - + (when (and (= level.state :in-flight) full-collide?) (trigger-game-over level)))) :reset (fn [level] (reset-level level)) - + :draw (fn [level] (each [k p (ipairs level.planets)] (planet.draw p)) diff --git a/level.lua b/level.lua index 2a7ab4d..544b726 100644 --- a/level.lua +++ b/level.lua @@ -9,28 +9,31 @@ local bg_music = nil local victory_music = nil local level_switcher = nil local level_replay = nil -local function _0_(planets) - local x = love.mouse.getX() - local y = love.mouse.getY() - local function _1_(p) - local _2_ = planet.bounds(p) - local x1 = _2_[1] - local y1 = _2_[2] - local x2 = _2_[3] - local y2 = _2_[4] - if ((x1) <= (x) and ((x) <= (x2)) and (y1) <= (y) and ((y) <= (y2))) then - return p +local function find_mouse_intersect_planet(planets) + assert((nil ~= planets), ("Missing argument %s on %s:%s"):format("planets", "level.fnl", 16)) + do + local x = love.mouse.getX() + local y = love.mouse.getY() + local function _0_(p) + local _1_ = planet.bounds(p) + local x1 = _1_[1] + local y1 = _1_[2] + local x2 = _1_[3] + local y2 = _1_[4] + if (((x1 <= x) and (x <= x2)) and ((y1 <= y) and (y <= y2))) then + return p + end end + return lume.first(lume.filter(planets, _0_)) end - return lume.first(lume.filter(planets, _1_)) end -local find_mouse_intersect_planet = _0_ -local function _1_(level) +local function launch_level(level) + assert((nil ~= level), ("Missing argument %s on %s:%s"):format("level", "level.fnl", 27)) level.state = "in-flight" return nil end -local launch_level = _1_ -local function _2_(level) +local function reset_level(level) + assert((nil ~= level), ("Missing argument %s on %s:%s"):format("level", "level.fnl", 30)) level.state = "awaiting-launch" level.duration = 0 level.ship = ship.create(level["level-info"].ship.vx, level["level-info"].ship.vy) @@ -41,27 +44,26 @@ local function _2_(level) end return nil end -local reset_level = _2_ -local function _3_(level) +local function trigger_game_over(level) + assert((nil ~= level), ("Missing argument %s on %s:%s"):format("level", "level.fnl", 40)) level.state = "crashed" return ship["trigger-crash"](level.ship) end -local trigger_game_over = _3_ -local function _4_(level) - ship["fall-into-vortex"](level.ship, ({level["level-info"].vortex.x, level["level-info"].vortex.y})) +local function finish_level(level) + assert((nil ~= level), ("Missing argument %s on %s:%s"):format("level", "level.fnl", 46)) + ship["fall-into-vortex"](level.ship, {level["level-info"].vortex.x, level["level-info"].vortex.y}) level.state = "complete" return nil end -local finish_level = _4_ -local function _5_(level_info) - local planets = ({}) +local function _0_(level_info) + local planets = {} for k, p in ipairs(level_info.planets) do table.insert(planets, planet.create(p.size, p.distance, p.resources, p.tile)) end util.pp(planets) - return ({["level-info"] = level_info, ["resource-score"] = 0, ["speed-up"] = 1, ["survival-score-offered"] = 0, duration = 0, planets = planets, ship = ship.create(level_info.ship.vx, level_info.ship.vy), state = "awaiting-launch", vortex = vortex.create(level_info.vortex.x, level_info.vortex.y, level_info.vortex.radius)}) + return {["level-info"] = level_info, ["resource-score"] = 0, ["speed-up"] = 1, ["survival-score-offered"] = 0, duration = 0, planets = planets, ship = ship.create(level_info.ship.vx, level_info.ship.vy), state = "awaiting-launch", vortex = vortex.create(level_info.vortex.x, level_info.vortex.y, level_info.vortex.radius)} end -local function _6_(level) +local function _1_(level) for k, p in ipairs(level.planets) do planet.draw(p) end @@ -69,75 +71,75 @@ local function _6_(level) vortex.draw(level.vortex) return hud.draw(level) end -local function _7_(level, key, unicode) - if (key) == ("s") then +local function _2_(level, key, unicode) + if (key == "s") then local new_s = (level["speed-up"] + 1) - local function _8_() - if (new_s) > (4) then + local function _3_() + if (new_s > 4) then return 1 else return new_s end end - level["speed-up"] = _8_() + level["speed-up"] = _3_() return nil - elseif ((key) == ("space") and (level.state) == ("awaiting-launch")) then + elseif ((key == "space") and (level.state == "awaiting-launch")) then return launch_level(level) - elseif ((key) == ("space") and (level.state) == ("in-flight")) then + elseif ((key == "space") and (level.state == "in-flight")) then return reset_level(level) - elseif ((key) == ("space") and (level.state) == ("in-flight")) then + elseif ((key == "space") and (level.state == "in-flight")) then return reset_level(level) - elseif ((key) == ("space") and (level.state) == ("crashed")) then + elseif ((key == "space") and (level.state == "crashed")) then return reset_level(level) - elseif ((key) == ("space") and (level.state) == ("complete")) then + elseif ((key == "space") and (level.state == "complete")) then return level_switcher() - elseif ((key) == ("r") and (level.state) == ("complete")) then + elseif ((key == "r") and (level.state == "complete")) then return level_replay() end end -local function _8_(switcher, replay) +local function _3_(switcher, replay) planet.load() ship.load() hud.load() level_switcher = switcher level_replay = replay - bg_music = love.audio.newSource("assets/alone.mp3") + bg_music = love.audio.newSource("assets/alone.mp3", "static") bg_music:setLooping(true) - victory_music = love.audio.newSource("assets/victory.mp3") + victory_music = love.audio.newSource("assets/victory.mp3", "static") return victory_music:setVolume(0.29999999999999999) end -local function _9_(level) +local function _4_(level) return reset_level(level) end -local function _10_(level, tt) - local function _11_() - if (not bg_music:isPlaying() and (level.state) == ("awaiting-launch")) then +local function _5_(level, tt) + local function _6_() + if (not bg_music:isPlaying() and (level.state == "awaiting-launch")) then victory_music:stop() return bg_music:play() end end - _11_() - local function _12_() - if (bg_music:isPlaying() and (level.state) == ("complete")) then + _6_() + local function _7_() + if (bg_music:isPlaying() and (level.state == "complete")) then victory_music:play() return bg_music:stop() end end - _12_() + _7_() do local t = (tt * level["speed-up"]) - local function _13_() - if (level.state) == ("in-flight") then + local function _8_() + if (level.state == "in-flight") then level["survival-score-offered"] = math.min(10000, (level["survival-score-offered"] + math.floor((tt * 1000)))) level.duration = (level.duration + tt) ship["apply-planetary-forces"](level.ship, level.planets) return ship["update-forces"](level.ship, t) end end - _13_() - local function _14_() - if (level.state) == ("awaiting-launch") then - local function _14_() + _8_() + local function _9_() + if (level.state == "awaiting-launch") then + local function _9_() if love.mouse.isDown(1) then if not tracking_info then local p = find_mouse_intersect_planet(level.planets) @@ -145,7 +147,7 @@ local function _10_(level, tt) print("found planet:", p) love.mouse.setGrabbed(true) planet["mark-highlight"](p) - tracking_info = ({planet = p, x = love.mouse.getX(), y = love.mouse.getY()}) + tracking_info = {planet = p, x = love.mouse.getX(), y = love.mouse.getY()} return nil end end @@ -158,7 +160,7 @@ local function _10_(level, tt) end end end - _14_() + _9_() if tracking_info then local mx = love.mouse.getX() local my = love.mouse.getY() @@ -171,7 +173,7 @@ local function _10_(level, tt) end end end - _14_() + _9_() for k, p in ipairs(level.planets) do planet.update(p, t) end @@ -181,31 +183,31 @@ local function _10_(level, tt) do local vortex_bounds = vortex["center-and-radius"](level.vortex) local ship_bounds = ship["center-and-radius"](level.ship) - local function _13_() - if (util["sphere-collision"](vortex_bounds, ship_bounds) and (level.state) == ("in-flight")) then + local function _8_() + if (util["sphere-collision"](vortex_bounds, ship_bounds) and (level.state == "in-flight")) then return finish_level(level) end end - _13_() + _8_() end do local ship_center_and_radius = ship["center-and-radius"](level.ship) - local function _13_(p) + local function _8_(p) return planet.collide(p, ship_center_and_radius) end - local coll_status = lume.map(level.planets, _13_) - local function _14_(s) - return (s) == ("full-collide") + local coll_status = lume.map(level.planets, _8_) + local function _9_(s) + return (s == "full-collide") end - local full_collide_3f = lume.first(lume.filter(coll_status, _14_)) - local function _15_(s) - return (s) == ("resource-collide") + local full_collide_3f = lume.first(lume.filter(coll_status, _9_)) + local function _10_(s) + return (s == "resource-collide") end - local resource_collides = #lume.filter(coll_status, _15_) + local resource_collides = #lume.filter(coll_status, _10_) level["resource-score"] = (level["resource-score"] + (50000 * resource_collides)) - if ((level.state) == ("in-flight") and full_collide_3f) then + if ((level.state == "in-flight") and full_collide_3f) then return trigger_game_over(level) end end end -return ({create = _5_, draw = _6_, keypressed = _7_, load = _8_, reset = _9_, update = _10_}) +return {create = _0_, draw = _1_, keypressed = _2_, load = _3_, reset = _4_, update = _5_} diff --git a/main.fnl b/main.fnl index 717fe8b..3e75dd0 100644 --- a/main.fnl +++ b/main.fnl @@ -71,16 +71,16 @@ :tile 2}] :vortex {:x 600 :y 100 :radius 50}}]) -(defn move-to-next-level [] +(lambda move-to-next-level [] (set current-level (+ current-level 1)) (if (> current-level 5) (set ended? true) (set active-level (level.create (. levels current-level))))) -(defn replay-level [] +(lambda replay-level [] (set active-level (level.create (. levels current-level)))) -(defn start-game [] +(lambda start-game [] (set active-level (level.create (. levels current-level)))) (fn love.load [] @@ -98,7 +98,7 @@ ;; intro stuff (set logo (love.graphics.newImage "assets/logo.png")) - (set intro-music (love.audio.newSource "assets/intro.mp3")) + (set intro-music (love.audio.newSource "assets/intro.mp3", "static")) (: intro-music :setVolume 0.3) (: intro-music :setLooping true) (set main-font (love.graphics.newImageFont @@ -107,13 +107,13 @@ "ABCDEFGHIJKLMNOPQRSTUVWXYZ0" "123456789.,!?-+/():;%&`'*#=[]\"")))) -(defn center-text [s r] +(lambda center-text [s r] (let [w (/ (love.graphics.getWidth) 2) t (love.graphics.newText main-font s) x (math.floor (- w (/ (: t :getWidth) 2)))] (love.graphics.print s x r))) -(defn main-screen [] +(lambda main-screen [] (starfield.draw blinky-stars) (love.graphics.draw logo (/ (- (love.graphics.getWidth) @@ -127,12 +127,12 @@ (var text-render-offset 600) (var intro-text-opacity 255) -(defn offsetted-text [s offset color] +(lambda offsetted-text [s offset color] (tset color 4 intro-text-opacity) (love.graphics.setColor (unpack color)) (love.graphics.print s 20 (math.floor (+ text-render-offset (* 20 offset))))) -(defn render-text [] +(lambda render-text [] (let [s 0] (offsetted-text "Year: 3880 A.D. GAT, 34.33.090 STANDARD GALACTIC" s [0 255 0]) @@ -161,7 +161,7 @@ (love.graphics.setColor 255 255 255 255) (center-text "Press the SPACE key to continue." (math.floor (+ text-render-offset 700))))) -(defn second-screen [] +(lambda second-screen [] (starfield.draw blinky-stars) (render-text)) @@ -175,14 +175,14 @@ (when (< text-render-offset -100) (let [new-op (math.max 0 (- intro-text-opacity (* 50 t)))] (set intro-text-opacity new-op))) - + (if (> text-render-offset -200) (set text-render-offset (- text-render-offset (* 20 t))) nil) ) -(defn game-screen-update [t] +(lambda game-screen-update [t] (starfield.update blinky-stars t) (level.update active-level t)) @@ -191,11 +191,11 @@ (love.graphics.setColor 255 255 255 255) (level.draw active-level)) -(defn instructions-screen-update [t] +(lambda instructions-screen-update [t] (starfield.update blinky-stars t) (vortext.update inst-vortex t)) -(defn instructions-screen [] +(lambda instructions-screen [] (starfield.draw blinky-stars) (love.graphics.setColor 255 255 255 255) (center-text "GOAL: Pick up as many planetary resources as possible and reach the" 50) @@ -217,7 +217,7 @@ (center-text "When ready, press the SPACE key." 380)) -(defn thanks-screen [] +(lambda thanks-screen [] (love.graphics.setColor 255 255 255 255) (center-text "Thanks for playing!" 20) (center-text "Attributions" 60) @@ -253,7 +253,7 @@ showing-instructions? (instructions-screen) - + (second-screen))) (fn love.keypressed [key unicode] diff --git a/main.lua b/main.lua index 166ae63..da5edde 100644 --- a/main.lua +++ b/main.lua @@ -11,10 +11,10 @@ local util = require("util") local starfield = require("starfield") local level = require("level") local vortext = require("vortex") -local levels = ({({planets = ({({distance = 300, resources = ({0}), size = 2, tile = 1})}), ship = ({vx = -1, vy = 0}), vortex = ({radius = 40, x = 400, y = 100})}), ({planets = ({({distance = 400, resources = ({0}), size = 3, tile = 1})}), ship = ({vx = -0.5, vy = 0.5}), vortex = ({radius = 30, x = 300, y = 200})}), ({planets = ({({distance = 400, resources = ({0}), size = 3, tile = 1}), ({distance = 300, resources = ({0, 10}), size = 2, tile = 3})}), ship = ({vx = -0.5, vy = 0.5}), vortex = ({radius = 50, x = 300, y = 100})}), ({planets = ({({distance = 400, resources = ({0}), size = 3, tile = 1}), ({distance = 250, resources = ({50}), size = 2, tile = 3}), ({distance = 500, resources = ({0}), size = 1, tile = 2})}), ship = ({vx = -0.5, vy = 0}), vortex = ({radius = 50, x = 100, y = 300})}), ({planets = ({({distance = 400, resources = ({0, 50}), size = 3, tile = 1}), ({distance = 500, resources = ({25, 75}), size = 2, tile = 3}), ({distance = 600, resources = ({0}), size = 1, tile = 2})}), ship = ({vx = -0.5, vy = 0}), vortex = ({radius = 50, x = 600, y = 100})})}) -local function _0_() +local levels = {{planets = {{distance = 300, resources = {0}, size = 2, tile = 1}}, ship = {vx = -1, vy = 0}, vortex = {radius = 40, x = 400, y = 100}}, {planets = {{distance = 400, resources = {0}, size = 3, tile = 1}}, ship = {vx = -0.5, vy = 0.5}, vortex = {radius = 30, x = 300, y = 200}}, {planets = {{distance = 400, resources = {0}, size = 3, tile = 1}, {distance = 300, resources = {0, 10}, size = 2, tile = 3}}, ship = {vx = -0.5, vy = 0.5}, vortex = {radius = 50, x = 300, y = 100}}, {planets = {{distance = 400, resources = {0}, size = 3, tile = 1}, {distance = 250, resources = {50}, size = 2, tile = 3}, {distance = 500, resources = {0}, size = 1, tile = 2}}, ship = {vx = -0.5, vy = 0}, vortex = {radius = 50, x = 100, y = 300}}, {planets = {{distance = 400, resources = {0, 50}, size = 3, tile = 1}, {distance = 500, resources = {25, 75}, size = 2, tile = 3}, {distance = 600, resources = {0}, size = 1, tile = 2}}, ship = {vx = -0.5, vy = 0}, vortex = {radius = 50, x = 600, y = 100}}} +local function move_to_next_level() current_level = (current_level + 1) - if (current_level) > (5) then + if (current_level > 5) then ended_3f = true return nil else @@ -22,17 +22,14 @@ local function _0_() return nil end end -local move_to_next_level = _0_ -local function _1_() +local function replay_level() active_level = level.create(levels[current_level]) return nil end -local replay_level = _1_ -local function _2_() +local function start_game() active_level = level.create(levels[current_level]) return nil end -local start_game = _2_ love.load = function() love.graphics.setDefaultFilter("nearest", "nearest") blinky_stars = starfield.create() @@ -40,105 +37,104 @@ love.load = function() level.load(move_to_next_level, replay_level) inst_vortex = vortext.create((love.graphics.getWidth() / 2), 130, 40) logo = love.graphics.newImage("assets/logo.png") - intro_music = love.audio.newSource("assets/intro.mp3") + intro_music = love.audio.newSource("assets/intro.mp3", "static") intro_music:setVolume(0.29999999999999999) intro_music:setLooping(true) main_font = love.graphics.newImageFont("assets/font.png", (" abcdefghijklmnopqrstuvwxyz" .. "ABCDEFGHIJKLMNOPQRSTUVWXYZ0" .. "123456789.,!?-+/():;%&`'*#=[]\"")) return nil end -do local _ = love.load end -local function _3_(s, r) - local w = (love.graphics.getWidth() / 2) - local t = love.graphics.newText(main_font, s) - local x = math.floor((w - (t:getWidth() / 2))) - return love.graphics.print(s, x, r) +local function center_text(s, r) + assert((nil ~= r), ("Missing argument %s on %s:%s"):format("r", "main.fnl", 110)) + assert((nil ~= s), ("Missing argument %s on %s:%s"):format("s", "main.fnl", 110)) + do + local w = (love.graphics.getWidth() / 2) + local t = love.graphics.newText(main_font, s) + local x = math.floor((w - (t:getWidth() / 2))) + return love.graphics.print(s, x, r) + end end -local center_text = _3_ -local function _4_() +local function main_screen() starfield.draw(blinky_stars) love.graphics.draw(logo, ((love.graphics.getWidth() - logo:getWidth()) / 2), 100) love.graphics.setColor(255, 0, 0, 200) return center_text("A mediocre space adventure", 180) end -local main_screen = _4_ local text_render_offset = 600 local intro_text_opacity = 255 -local function _5_(s, offset, color) +local function offsetted_text(s, offset, color) + assert((nil ~= color), ("Missing argument %s on %s:%s"):format("color", "main.fnl", 130)) + assert((nil ~= offset), ("Missing argument %s on %s:%s"):format("offset", "main.fnl", 130)) + assert((nil ~= s), ("Missing argument %s on %s:%s"):format("s", "main.fnl", 130)) color[4] = intro_text_opacity love.graphics.setColor(unpack(color)) return love.graphics.print(s, 20, math.floor((text_render_offset + (20 * offset)))) end -local offsetted_text = _5_ -local function _6_() +local function render_text() local s = 0 - offsetted_text("Year: 3880 A.D. GAT, 34.33.090 STANDARD GALACTIC", s, ({0, 255, 0})) - offsetted_text("Human reign on this galaxy is coming to an end.", (s + 2), ({200, 200, 200})) - offsetted_text("Uncontrolled greed has caused the already faltering galactic economy to collapse.", (s + 4), ({200, 200, 200})) - offsetted_text("The planetary systems are on their own.", (s + 5), ({200, 200, 200})) - offsetted_text("There's no SPOOKY-DORA plasma ion fuel left to power interplanetary", (s + 7), ({200, 200, 200})) - offsetted_text("transport systems. Lack of food and resources has caused unprecedented", (s + 8), ({200, 200, 200})) - offsetted_text("civil unrest across planetary systems. People are dying, there's", (s + 9), ({200, 200, 200})) - offsetted_text("wide-spread looting.", (s + 10), ({200, 200, 200})) - offsetted_text("There's no law, no order.", (s + 11), ({200, 200, 200})) - offsetted_text("The only way to slow down the eventual demise of these systems is to", (s + 13), ({200, 200, 200})) - offsetted_text("get transportation back up.", (s + 14), ({200, 200, 200})) - offsetted_text("There's no fuel to power transportation, but there's GRAVITY.", (s + 18), ({200, 200, 200})) + offsetted_text("Year: 3880 A.D. GAT, 34.33.090 STANDARD GALACTIC", s, {0, 255, 0}) + offsetted_text("Human reign on this galaxy is coming to an end.", (s + 2), {200, 200, 200}) + offsetted_text("Uncontrolled greed has caused the already faltering galactic economy to collapse.", (s + 4), {200, 200, 200}) + offsetted_text("The planetary systems are on their own.", (s + 5), {200, 200, 200}) + offsetted_text("There's no SPOOKY-DORA plasma ion fuel left to power interplanetary", (s + 7), {200, 200, 200}) + offsetted_text("transport systems. Lack of food and resources has caused unprecedented", (s + 8), {200, 200, 200}) + offsetted_text("civil unrest across planetary systems. People are dying, there's", (s + 9), {200, 200, 200}) + offsetted_text("wide-spread looting.", (s + 10), {200, 200, 200}) + offsetted_text("There's no law, no order.", (s + 11), {200, 200, 200}) + offsetted_text("The only way to slow down the eventual demise of these systems is to", (s + 13), {200, 200, 200}) + offsetted_text("get transportation back up.", (s + 14), {200, 200, 200}) + offsetted_text("There's no fuel to power transportation, but there's GRAVITY.", (s + 18), {200, 200, 200}) love.graphics.setColor(255, 13, 255, 255) love.graphics.draw(logo, ((love.graphics.getWidth() - logo:getWidth()) / 2), math.floor((text_render_offset + 600))) center_text("An OK space adventure", math.floor((text_render_offset + 680))) love.graphics.setColor(255, 255, 255, 255) return center_text("Press the SPACE key to continue.", math.floor((text_render_offset + 700))) end -local render_text = _6_ -local function _7_() +local function second_screen() starfield.draw(blinky_stars) return render_text() end -local second_screen = _7_ local playing_intro_music_3f = false local function second_screen_update(t) starfield.update(blinky_stars, t) - local function _8_() + local function _0_() if not playing_intro_music_3f then intro_music:play() playing_intro_music_3f = true return nil end end - _8_() - local function _9_() - if (text_render_offset) < (-100) then + _0_() + local function _1_() + if (text_render_offset < -100) then local new_op = math.max(0, (intro_text_opacity - (50 * t))) intro_text_opacity = new_op return nil end end - _9_() - if (text_render_offset) > (-200) then + _1_() + if (text_render_offset > -200) then text_render_offset = (text_render_offset - (20 * t)) return nil else return nil end end -do local _ = second_screen_update end -local function _8_(t) +local function game_screen_update(t) + assert((nil ~= t), ("Missing argument %s on %s:%s"):format("t", "main.fnl", 185)) starfield.update(blinky_stars, t) return level.update(active_level, t) end -local game_screen_update = _8_ local function game_screen() starfield.draw(blinky_stars) love.graphics.setColor(255, 255, 255, 255) return level.draw(active_level) end -do local _ = game_screen end -local function _9_(t) +local function instructions_screen_update(t) + assert((nil ~= t), ("Missing argument %s on %s:%s"):format("t", "main.fnl", 194)) starfield.update(blinky_stars, t) return vortext.update(inst_vortex, t) end -local instructions_screen_update = _9_ -local function _10_() +local function instructions_screen() starfield.draw(blinky_stars) love.graphics.setColor(255, 255, 255, 255) center_text("GOAL: Pick up as many planetary resources as possible and reach the", 50) @@ -156,8 +152,7 @@ local function _10_() center_text("Needless to say, don't run into planets.", 340) return center_text("When ready, press the SPACE key.", 380) end -local instructions_screen = _10_ -local function _11_() +local function thanks_screen() love.graphics.setColor(255, 255, 255, 255) center_text("Thanks for playing!", 20) center_text("Attributions", 60) @@ -170,7 +165,6 @@ local function _11_() center_text("Victory Music: Axton Crolly @ OpenGameArt", 170) return center_text("Crate Image: Bluerobin2 @ OpenGameArt", 185) end -local thanks_screen = _11_ love.update = function(t) if active_level then return game_screen_update(t) @@ -180,7 +174,6 @@ love.update = function(t) return second_screen_update(t) end end -do local _ = love.update end love.draw = function() love.graphics.setFont(main_font) if ended_3f then @@ -193,17 +186,16 @@ love.draw = function() return second_screen() end end -do local _ = love.draw end love.keypressed = function(key, unicode) print(math.floor(text_render_offset)) if active_level then return level.keypressed(active_level, key, unicode) - elseif (showing_instructions_3f and (key) == ("space")) then + elseif (showing_instructions_3f and (key == "space")) then return start_game() - elseif (not showing_instructions_3f and (key) == ("space") and (math.floor(text_render_offset)) <= (-200)) then + elseif (not showing_instructions_3f and (key == "space") and (math.floor(text_render_offset) <= -200)) then showing_instructions_3f = true return intro_music:stop() - elseif (key) == ("space") then + elseif (key == "space") then intro_text_opacity = 0 text_render_offset = -200 return nil