From d166085035826065506caa3f6eb4da290dc83f49 Mon Sep 17 00:00:00 2001 From: PossiblyAxolotl Date: Sat, 23 Apr 2022 21:25:48 -0600 Subject: [PATCH] fixed level system --- Source/Main.lua | 4 +++ Source/Menu.lua | 38 +++++++++++++++++++-- Source/Player.lua | 2 +- Source/gfx/big.fnt | 5 +-- Source/gfx/crank.png | Bin 0 -> 2357 bytes Source/levels/{level2.json => level1.json} | 0 6 files changed, 43 insertions(+), 6 deletions(-) create mode 100644 Source/gfx/crank.png rename Source/levels/{level2.json => level1.json} (100%) diff --git a/Source/Main.lua b/Source/Main.lua index cf2e923..4706e32 100644 --- a/Source/Main.lua +++ b/Source/Main.lua @@ -1,5 +1,6 @@ import "CoreLibs/graphics" import "CoreLibs/sprites" +import "CoreLibs/ui" import "Player" import "Map" import "Menu" @@ -16,10 +17,13 @@ gfx.setBackgroundColor(gfx.kColorBlack) local song1 = playdate.sound.sampleplayer.new("sfx/song1") song1:play(0, 1) +local imgCrank = gfx.image.new("gfx/crank") gfx.setColor(gfx.kColorWhite) -- {"START NEW GAME","CONTINUE","USER LEVELS", "EXIT"} +mainMenuCreation() + createMenu(mainmenu) local menu = playdate.getSystemMenu() diff --git a/Source/Menu.lua b/Source/Menu.lua index f0867d2..0422216 100644 --- a/Source/Menu.lua +++ b/Source/Menu.lua @@ -6,6 +6,7 @@ local index = 0 local menuitems = {} local menu = null +local page = 0 local imgCursor = gfx.image.new("gfx/cursor") local imgBytes = gfx.image.new("gfx/bytes") @@ -23,8 +24,6 @@ function mainMenuCreation() end end -mainMenuCreation() - function createMenu(items) killPlayer() mode = "menu" @@ -68,6 +67,29 @@ function updateMenu() imgBytes:draw(0,0) end +local function customLoad() + local lvls = playdate.file.listFiles("levels") + local m = {} + m[0], m[1] = "customs", "BACK" + if #lvls - (1 + (7*page)) <= 0 then page = 0 end + if #lvls < 7 then + for i = 1, #lvls, 1 do + m[i+1] = lvls[i]:upper() + end + elseif lvls[1 + (7*page)] then + m[2] = "NEXT PAGE" + for i = 1, 7, 1 do + if lvls[i+(7*page)] then + m[i+2] = lvls[i+(7*page)]:upper() + end + end + end + + createMenu(m) + + index = #lvls +end + function menuButtonPress(name) if name == "START NEW GAME" and menu == "mainPlay" then local m = {} @@ -85,7 +107,17 @@ function menuButtonPress(name) m[0],m[1] = "about", "BACK" createMenu(m) + elseif name == "USER LEVELS" then + page = 0 + customLoad() + elseif name == "NEXT PAGE" then + page += 1 + customLoad() + elseif name == "BACK" or name == "CANCEL" then createMenu(mainmenu) + + elseif menu == "customs" then + addMap("levels/"..name) end -end +end \ No newline at end of file diff --git a/Source/Player.lua b/Source/Player.lua index 94178a8..32614fc 100644 --- a/Source/Player.lua +++ b/Source/Player.lua @@ -77,8 +77,8 @@ function updatePlayer() end local cx, cy = gfx.getDrawOffset() gfx.setDrawOffset(playdate.math.lerp(cx,(-sprRocket.x + 200), lerpmnt), playdate.math.lerp(cy,(-sprRocket.y + 120), lerpmnt)) + end - updateExit() sprRocket:setScale(scale,scale) diff --git a/Source/gfx/big.fnt b/Source/gfx/big.fnt index 3c6c3d7..8827a36 100644 --- a/Source/gfx/big.fnt +++ b/Source/gfx/big.fnt @@ -1,6 +1,6 @@ --metrics={"baseline":26,"xHeight":2,"capHeight":2,"pairs":{},"left":[],"right":[]} -datalen=3208 -data=iVBORw0KGgoAAAANSUhEUgAAAHAAAAB+CAYAAAD86pU7AAAJLElEQVR4Xu1d7WLsKgg8ff+H7ul+JFUDzoBoki73V29XIzIMDJo9/fp3/O9b+N3jV1/K79tfb/Ot49vnoPlWOzW7kL3aOqy9XjuRu5/+kZxkXTABfHlACzirP00BUy76nPj9Lc//+tqHdg3d5lvHH8JZX89qZzW+sOu5ZMfe7jqEvUN2Qvq9/ZMAvgNWCLjbAEhF6BYR7EY7DOyut60jMENjTBWs1nksA1vmCgzZyODdXzVfY2Br72NSAvgoYMeUTQFROPq2AO6kATUFiZ2q+CJmsBHqYLQJCEG8eIFHZU98bgQDE8Da9dcAsGUAoS41w6l+rlW/bA0dVYOj81Hq1WhFqHSKGCoDE8C9r5vSDkwDUFCbqF+iIkWIRJRqrI0xslNscNnMElVzOzW53S+V0Q4MTAAPJyrdkxFr23JFAJF63GPi/QNi3qEsWeYRjGIzBmXnBAAp5pVOFXO89cgJyfVCblOOmdBfiW0Malc0gNB+HfNQ+yKWlJGjNO9RU1WrUPNjVXlR4qCwyypiRIZb1S67jwRQPwv1AuGdZ0qdbV0qA0Qr2i5VKKTCaoOIgUXqFVOgMB/1ndpz0DyrX9A+kT+RPc/nR9wHdlVaAvg6azYE2jZ+GYDeSCPI5xqCHOB1qGYMcjQKcLH/6+y8Gh/BwASwH2fLAFyltly0IiYhEWDdH6WyvWe2uwj5vcZ6/kp7I0IY/yTfiAqtmDfwKgaBDTXkYwGkGusJJw4UKsQg70FE9ejA/VVMmn2TD+8Dd5od+yXKUMPRFoGVOCQBLHOvFjGBEYpUGwskyhzoaGo1A9G+TSVgw+nODEwAV4gYTT2xNBPGdVMmyhRoXe0QX20C+ZehpjFwVE2Oym3k0/bzBPDBvOLFXpSKNLFS1RgNhUARQwWKwHiv2IqeN42BCeAPVCj1Boi7ywHojVC0EZRSh05U0P0icZEdol6Lhwyp5Tuq0ASwqYFTRQx7s4xox6pRQw2kIt96NlnYSdXsUdV757NQlomUCEM10NBGUIRAgcau9xeuk9j7PfaecOh+TssUnQwztF4C+OtZDWDrfZ7Yt64AEBm6s74xxjuvSjXCBr3vjHiBiN7fKOMptX6ogYSYsFJec0wC+PKA5k8aQEoteYuuME9Uf23gGPq1EDUZuL8Q0cSq90MfiBholb0J4E4kU6C5AYy+QS4CgtrAnlf5C2T0XPHMtvPqO1UiHK/kIzsRc0Vu0ScxXiC881Bf5k2xKEA6Naly4B0BFCMTfYlDcwhyQCDwrN2UaPixy3Vz3gkcxMyuXRYGso446BGp7UgA6dpoA1ATMShleechUYQ+N6xbtS2Ge8q2nzMxkFDXXrv2HoRqIxJA+TvzVr+wLwLPUKFLU6hBxLDiwhrp3YtuVAIM9v/NGmhwQAL48AChJvee/P0DqgVaefK+woH6JGRPdWZL9IHRDERM0/anlvnHBxYVmgAWrnSk0DUAanDv6CnfpmGLbumDkvmEWqMYhlKvYX/dM9sBMUIxm7Uz7Cw0AdxdvjTQIq+T2JOMNrjYG/VKRb7TvxSo0feB7bptKenW+tl2JoBH92uB2AYaCtjRC12YRTcRgyIMGe41VFuXjXC0QZbp7HreTNFVkZ1NUOv1GChewwgpIQGUUUCvmrAMPui78heqiNlESfteJPHmMpLLXXUnqF20UcRE71FhlSEMXyFful4C+IaJbQus7Y6aP4P+rILayLf9FNtfEQx97gmd/BhuC0wMDPiSSrUe8svs9RLANxxnA7Hna+VVEu3zMADbmqn9f8dQtnYixonq08F4LVMgO70ZhppXbO5pRwJoZ+A9ADyEMf+WWBVJgqr0RrZXjXpVYcityWkiJgHs/0UbVLNmfS2tVcu96yRvqpg1L4SBnfde2+eLDLSqc4MK1Q5Ouqo3Afx1TwK49cSbLuj1ew5VGM1A9DzTvR3R/3oz020YiBpk5HBNL6D7Oeu8WSKNaiPawD8jhZ56Fhp98TxBZXdV8xVETAL4gzr7Tk2bHiQAd0Xc1DDxROPd/Jef3e06aSgVa/n2LL+Um/EC4Z3XBs4h2DrO8nyE7ETPtN7vofXYz7t+kQBEGxHlthCBiNnsBu6+ntefe3ntPSAB/PUOehlKS71o3nQAqbPCQLWlyWVvn3TpeRA98K/WI9V8aCO8C6Jv6UxsdD8eQFFMDHx34NIOXRBorjPNHQT8x7gqjqk1MAF8+Ynt17TA0DKa4Q2AbtsjfcgePaFx1FniakYQtwmuQ+2OCq8y3EBAiLGQAOKURV0rfRKA3RrpiNAqMom32VDmULMeSKmj81x2ncHABPAFNZWqEbNvD6Chpo2mQitDZo8Xo+CZJchUgca5Prem0ATwmLmR45GqYmuSlRHUeIc8H90vmwq1Gon65uVtRAIo94+XA1BkYmslOsvzpuxtnQXfokIZp8tADbXW/n2Rd1sjfC4ycUTEJICEmjwDwAoYJGMLA7ULT/YGHN0PtnbtQfr+oV0/6h6xxcBrJ0qhaH/i/J5zWUO1hVsHo2Bk19OA+ngAkQM0AFjHR82/y3qjdqKAf37eu5GPTn0JIAWJbZB6oRuoHrvAEWeXVhV49npsX2lDShmdAB7PJEcDZjmAXoO9hnrn/XU7kdoVa+qhBi5IaQkglzxbwMIBXM2I1eutDrTu/jRijTBwtUNXr5cAKpniUo5pWqnSZK+dofNQSfsEBt6FudR1WRtwnwBgKCM6jBVVJGKQkKUo8bLNSwB1RegF3sv4al4RKN0juQgArQavdox3Pe88qz+4pqJzEhO1ILthdtzdj8RG90kBO3KUNprzrRu0jl9tXxQRKODKGlg5Zv9A//csz2JGAih4PuI6SYx0q1qbOH61fZoYMTGLHZwAYk95L2a987BFxQj20rb30FFDt/ntGhG2mZxxx8ERTkoAT0ReSqEsqKGi4kA/u4g60Y3nLZ0Anuf7kJUPfSDxLsxov6Mxt9qQ4wwxxCF3e0gCeDfEGntPT6FC/zdaW28Oic38BNDmr8uNZhWnZHg0U6KfdzlnzzAoAZzh1YXPPDOFjqrZhW667lIJ4HWxoSwbaSMqBglqkjKgGDR6JGdd70+MTwBvDmOm0ATwlfkMR3Cty7J9GAiikTYia+CA46OmJoBRnjzpOf8BzZYDOdc3yrYAAAAASUVORK5CYII= +datalen=3212 +data=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 width=14 height=18 @@ -57,4 +57,5 @@ Z 14 : 6 ! 6 ? 14 +. 14 diff --git a/Source/gfx/crank.png b/Source/gfx/crank.png new file mode 100644 index 0000000000000000000000000000000000000000..cdc133a4a49b8d3de7b287e3db57473f99286b36 GIT binary patch literal 2357 zcmeAS@N?(olHy`uVBq!ia0y~yV4MJCf8byPl6p2qN(>Afe>`0rLn`LHy?ZezDp#m2 z@Q3#I`qSqe3of}?H%Y(QUTCYnI!&wDcgf+JoC}vi>4E7)}Nc)zU_PK@ed#s@rMLz9*0(b zy0E$AadKsqePjvK$>5;-K&cljlb$cPtbK8F*F!_wz4LXf8lPyc%!jD>JRc|#x%<;b zbP2fD1`%%z-}L#Wo4*{M{Qq?aBWB>%iT;zs~V9#1;SMl=t|vZr+nRe`F8DGQ)x_ zHe%+zwJ)dp{(Beqx#sz4?S=9ytgk%!J$J+WJ;30E8VZa8NC@0(ow{7^PWit#>zCj) z^4Qmo`$ZK`%KA*cHtvef|Ge0~I^|yO_uaoIE&uuV2_i(-!D6W9FS~Y<#Jo7WYR`m^ zyVIBW?|$@Ae&g~#YvHkQ9p+c$SS2U&;DI(23HU$-%Ozqa0d`@M6@`}p1So*z_wqppwe7cVp|KU&|S_~Tf6`TFTjau=2N zzf*n}f6LpA^ZsFWP~yQudGXS?dD~v1bxs zlK0o#=3XE0ah9N;Wc8`Z!XAqtxe}fps>H*V*>7|Ivu%I>zcz8G;_Yb?8){^o+o2}-k1k0CXjXg z%=A;N+Ll-0gOU${D)wkC7qIm=qR)%$0u3+2AxTmB4KR2U|4?7Qk6eChWeqm?$m_zAi6d)fC%^)F*18t3ihQ{DS= zlaS!=llH)P)_UoG`S%I_5+=^8iY~wAX3Ou~_fH!bD)(PE?W!x9XS1nSqG|r?nJ)I4 z*KNuw_SNiHYJ2#+O75cZ^CKJ2U4FgaL&fu6(h&ibldWz%j+0{2N15b>L+U^NO}d-T VacA981~!KnJYD@<);T3K0RU2&pB4ZB literal 0 HcmV?d00001 diff --git a/Source/levels/level2.json b/Source/levels/level1.json similarity index 100% rename from Source/levels/level2.json rename to Source/levels/level1.json