On windows and not entirely sure how to compile this better so its not so long and repetetive?
Basically Im making it so whenever you turn the crank the spoon image changes to look like its stirring the pot image. It works but is soo messy! If you know how to shorten this please explain in easy terms because I'm a beginner still. Or just let me know what term to research would help as well!
import "CoreLibs/object"
import "CoreLibs/graphics"
import "CoreLibs/sprites"
import "CoreLibs/timer"
local gfx <const> = playdate.graphics
local playerSprite = nil
local potSprite = nil
spoonSprite = nil
degrees = nil
function myGameSetUp()
local playerImage = gfx.image.new("Images/cursor")
assert( playerImage )
playerSprite = gfx.sprite.new( playerImage )
playerSprite:moveTo( 100, 120 )
playerSprite:add()
local potImage = gfx.image.new("Images/pot")
assert( potImage )
potSprite = gfx.sprite.new( potImage )
potSprite:moveTo( 275, 120 )
potSprite:add()
spoonImage1 = gfx.image.new("Images/1")
assert(spoonImage1)
spoonImage2 = gfx.image.new("Images/2")
assert(spoonImage2)
spoonImage3 = gfx.image.new("Images/3")
assert(spoonImage3)
spoonImage4 = gfx.image.new("Images/4")
assert(spoonImage4)
spoonImage5 = gfx.image.new("Images/5")
assert(spoonImage5)
spoonImage6 = gfx.image.new("Images/6")
assert(spoonImage6)
spoonImage7 = gfx.image.new("Images/7")
assert(spoonImage7)
spoonImage8 = gfx.image.new("Images/8")
assert(spoonImage8)
spoonImage9 = gfx.image.new("Images/9")
assert(spoonImage9)
spoonImage10 = gfx.image.new("Images/10")
assert(spoonImage10)
spoonImage11 = gfx.image.new("Images/11")
assert(spoonImage11)
spoonImage12 = gfx.image.new("Images/12")
assert(spoonImage12)
spoonImage13 = gfx.image.new("Images/13")
assert(spoonImage13)
spoonImage14 = gfx.image.new("Images/14")
assert(spoonImage14)
spoonImage15 = gfx.image.new("Images/15")
assert(spoonImage15)
spoonImage16 = gfx.image.new("Images/16")
assert(spoonImage16)
spoonSprite = gfx.sprite.new(spoonImage)
spoonSprite:moveTo(275,120)
spoonSprite:add()
end
myGameSetUp()
function playdate.update()
if playdate.buttonJustPressed( playdate.kButtonUp ) then
playerSprite:moveBy( 0, -20 )
end
if playdate.buttonJustPressed( playdate.kButtonRight ) then
playerSprite:moveBy( 20, 0 )
end
if playdate.buttonJustPressed( playdate.kButtonDown ) then
playerSprite:moveBy( 0, 20 )
end
if playdate.buttonJustPressed( playdate.kButtonLeft ) then
playerSprite:moveBy( -20, 0 )
end
degrees = playdate.getCrankPosition()
if degrees > 0 and degrees < 11.25 then
spoonSprite:remove()
spoonSprite = gfx.sprite.new(spoonImage1)
spoonSprite:moveTo(275,120)
spoonSprite:add()
end
if degrees > 11.25 and degrees < 33.75 then
spoonSprite:remove()
spoonSprite = gfx.sprite.new(spoonImage2)
spoonSprite:moveTo(275,120)
spoonSprite:add()
end
if degrees > 33.75 and degrees < 56.25 then
spoonSprite:remove()
spoonSprite = gfx.sprite.new(spoonImage3)
spoonSprite:moveTo(275,120)
spoonSprite:add()
end
if degrees > 56.25 and degrees < 78.75 then
spoonSprite:remove()
spoonSprite = gfx.sprite.new(spoonImage4)
spoonSprite:moveTo(275,120)
spoonSprite:add()
end
if degrees > 78.75 and degrees < 101.25 then
spoonSprite:remove()
spoonSprite = gfx.sprite.new(spoonImage5)
spoonSprite:moveTo(275,120)
spoonSprite:add()
end
if degrees > 101.25 and degrees < 123.75 then
spoonSprite:remove()
spoonSprite = gfx.sprite.new(spoonImage6)
spoonSprite:moveTo(275,120)
spoonSprite:add()
end
if degrees > 123.75 and degrees < 146.75 then
spoonSprite:remove()
spoonSprite = gfx.sprite.new(spoonImage7)
spoonSprite:moveTo(275,120)
spoonSprite:add()
end
if degrees > 146.75 and degrees < 168.75 then
spoonSprite:remove()
spoonSprite = gfx.sprite.new(spoonImage8)
spoonSprite:moveTo(275,120)
spoonSprite:add()
end
if degrees > 168.75 and degrees < 191.25 then
spoonSprite:remove()
spoonSprite = gfx.sprite.new(spoonImage9)
spoonSprite:moveTo(275,120)
spoonSprite:add()
end
if degrees > 191.25 and degrees < 213.75 then
spoonSprite:remove()
spoonSprite = gfx.sprite.new(spoonImage10)
spoonSprite:moveTo(275,120)
spoonSprite:add()
end
if degrees > 213.75 and degrees < 236.25 then
spoonSprite:remove()
spoonSprite = gfx.sprite.new(spoonImage11)
spoonSprite:moveTo(275,120)
spoonSprite:add()
end
if degrees > 236.23 and degrees < 258.75 then
spoonSprite:remove()
spoonSprite = gfx.sprite.new(spoonImage12)
spoonSprite:moveTo(275,120)
spoonSprite:add()
end
if degrees > 258.75 and degrees < 281.25 then
spoonSprite:remove()
spoonSprite = gfx.sprite.new(spoonImage13)
spoonSprite:moveTo(275,120)
spoonSprite:add()
end
if degrees > 281.25 and degrees < 303.75 then
spoonSprite:remove()
spoonSprite = gfx.sprite.new(spoonImage14)
spoonSprite:moveTo(275,120)
spoonSprite:add()
end
if degrees > 303.75 and degrees < 326.75 then
spoonSprite:remove()
spoonSprite = gfx.sprite.new(spoonImage15)
spoonSprite:moveTo(275,120)
spoonSprite:add()
end
if degrees > 326.75 and degrees < 348.25 then
spoonSprite:remove()
spoonSprite = gfx.sprite.new(spoonImage16)
spoonSprite:moveTo(275,120)
spoonSprite:add()
end
gfx.sprite.update()
playdate.timer.updateTimers()
end