Rocket-Bytes/Source/Main.lua

76 lines
1.7 KiB
Lua
Raw Normal View History

2022-04-17 19:27:36 +00:00
import "CoreLibs/graphics"
import "CoreLibs/sprites"
2022-04-24 03:25:48 +00:00
import "CoreLibs/ui"
import "Player"
2022-04-19 21:32:18 +00:00
import "Map"
2022-04-22 18:48:45 +00:00
import "Menu"
2022-04-24 05:03:32 +00:00
import "Saws"
2022-04-27 02:40:39 +00:00
import "Editor"
2022-04-22 18:48:45 +00:00
2022-04-23 06:54:45 +00:00
mode = "menu"
map = "levels/level1.json"
2022-04-19 21:32:18 +00:00
2022-05-07 20:31:34 +00:00
deaths = 0
local gfx <const> = playdate.graphics
2022-04-19 21:32:18 +00:00
local disp <const> = playdate.display
local font <const> = gfx.font.new("gfx/big")
2022-04-22 18:48:45 +00:00
2022-05-08 17:42:07 +00:00
dev = false
2022-05-07 20:31:34 +00:00
2022-04-17 19:27:36 +00:00
gfx.setFont(font)
gfx.setBackgroundColor(gfx.kColorBlack)
2022-04-27 02:40:39 +00:00
song = playdate.sound.fileplayer.new("sfx/song1")
song:play(0)
2022-04-24 03:25:48 +00:00
local imgCrank = gfx.image.new("gfx/crank")
2022-04-17 19:27:36 +00:00
2022-04-22 18:48:45 +00:00
gfx.setColor(gfx.kColorWhite)
-- {"START NEW GAME","CONTINUE","USER LEVELS", "EXIT"}
2022-04-24 03:25:48 +00:00
mainMenuCreation()
createMenu(mainmenu)
2022-04-22 18:48:45 +00:00
2022-04-23 06:54:45 +00:00
local menu = playdate.getSystemMenu()
local menuItem, error = menu:addMenuItem("Main Menu", function()
2022-05-07 20:31:34 +00:00
if mode == "game" then
playdate.datastore.write({savedLevel=map,savedDeaths=deaths},"savegame")
end
mainMenuCreation()
2022-04-23 06:54:45 +00:00
createMenu(mainmenu)
end)
2022-04-17 19:27:36 +00:00
--addMap("levels/level.json")
2022-04-17 19:27:36 +00:00
function playdate.update()
2022-04-22 18:48:45 +00:00
if mode == "menu" then
updateMenu()
2022-04-17 19:27:36 +00:00
2022-05-07 20:31:34 +00:00
elseif mode == "game" or mode == "play" then
2022-04-22 18:48:45 +00:00
updatePlayer()
2022-04-17 19:27:36 +00:00
2022-04-22 18:48:45 +00:00
gfx.clear(gfx.kColorBlack)
gfx.sprite.update()
drawTiles()
2022-05-07 20:31:34 +00:00
local ox, oy = gfx.getDrawOffset()
gfx.drawText(deaths,-ox + 1,-oy + 1)
2022-04-27 02:40:39 +00:00
elseif mode == "newproj" then
gfx.clear()
updateNewproj()
2022-04-22 18:48:45 +00:00
end
2022-05-07 20:31:34 +00:00
if dev then
local ox, oy = gfx.getDrawOffset()
playdate.drawFPS(0,20)
gfx.drawText(playdate.getCrankPosition(), -ox, -oy + 35)
gfx.drawText(deaths, -ox, -oy + 55)
end
2022-04-24 18:15:38 +00:00
updateSaws()
2022-05-07 20:31:34 +00:00
end
function playdate.gameWillTerminate()
if mode == "game" then
playdate.datastore.write({savedLevel=map,savedDeaths=deaths},"savegame")
end
2022-04-17 19:27:36 +00:00
end