Coroutines Implemented for Planting
This commit is contained in:
parent
a805969790
commit
74ecb35c65
93
continuum.p8
93
continuum.p8
@ -57,6 +57,9 @@ function _init()
|
||||
confirm_trigger=false
|
||||
cancel_trigger=false
|
||||
|
||||
menu_cor = cocreate(open_menu)
|
||||
close_menu_cor = cocreate(close_menu)
|
||||
|
||||
palt(0,0)
|
||||
end
|
||||
--<<<=====update======>>>
|
||||
@ -70,41 +73,23 @@ function _update()
|
||||
_toggle_rain()
|
||||
end
|
||||
|
||||
if (btnp(4) and costatus(close_menu_cor) ~= "dead") then coresume(close_menu_cor) end --🅾️
|
||||
if (btnp(4) and costatus(close_menu_cor) == "dead") then close_menu_cor = cocreate(close_menu) coresume(close_menu_cor) end --🅾️
|
||||
|
||||
if (crossbar==false) then
|
||||
move_player()
|
||||
-- while btn(0) do p.ymov=false end
|
||||
-- while btn(1) do p.ymov=false end
|
||||
-- while btn(2) do p.ymov=true end
|
||||
-- while btn(3) do p.ymov=true end
|
||||
if (btnp(5) and costatus(menu_cor) ~= "dead") then coresume(menu_cor) end --❎
|
||||
if (btnp(5) and costatus(menu_cor) == "dead") then menu_cor = cocreate(open_menu) coresume(menu_cor) end --❎
|
||||
end
|
||||
if crossbar then
|
||||
if (crossbarnum==0) then
|
||||
if (btn(0)) then crossbarnum=1 end --⬅️ Measure
|
||||
if (btn(1)) then crossbarnum=2 end --➡️Act
|
||||
if (btn(2)) then crossbarnum=3 end --⬆️Build
|
||||
if (btn(3)) then crossbarnum=4 end --⬇️Plant
|
||||
|
||||
if (crossbar and (btnp(0) or btnp(1) or btnp(2) or btnp(3))) then
|
||||
coresume(menu_cor)
|
||||
end
|
||||
if (crossbarnum>0) then
|
||||
if btn(0) then i=0 end
|
||||
if btn(1) then i=1 end
|
||||
if btn(2) then i=2 end
|
||||
if btn(3) then i=3 end
|
||||
if (crossbarnum==1) then _measure(i) end
|
||||
if (crossbarnum==2) then _act(i) end
|
||||
if (crossbarnum==3) then _build(i) end
|
||||
if (crossbarnum==4) then _plant(i) end
|
||||
--if btnp(0) or btnp(1) or btnp(2) or btnp(3) then crossbar=false crossbarnum=0 end
|
||||
if (crossbarnum>0 and (btnp(0) or btnp(1) or btnp(2) or btnp(3))) then
|
||||
coresume(menu_cor)
|
||||
end
|
||||
end
|
||||
--plant
|
||||
if (crossbarnum==4 and btnp(2)) then mset(flr(p.x+3)/8,flr(p.y+5)/8-1,46) _close_menu() end --crops
|
||||
if (crossbarnum==4 and btnp(1)) then mset(flr(p.x+3)/8,flr(p.y+5)/8-1,42) _close_menu() end --grass
|
||||
if (crossbarnum==4 and btnp(3)) then mset(flr(p.x+3)/8,flr(p.y+5)/8-1,44) _close_menu() end --shrubs
|
||||
if (crossbarnum==4 and btnp(0)) then mset(flr(p.x+3)/8,flr(p.y+5)/8-1,46) _close_menu() end --trees
|
||||
if (btn(5)) then crossbar=true sfx(0,3,0) end --❎
|
||||
if (btn(4)) then crossbar=false sfx(1,3,0) crossbarnum=0 end --🅾️
|
||||
if btnp(5) then sfx(0,3,-2) end
|
||||
if btnp(4) then sfx(1,3,-2) end --shake+=1
|
||||
-- if btnp(5) then sfx(0,3,-2) end
|
||||
-- if btnp(4) then sfx(1,3,-2) end --shake+=1
|
||||
--if (crossbarnum==4 and btnp(3)) then sfx(0,3,0) crossbarnum=0 crossbar=false end
|
||||
local dayfactor=160 --320
|
||||
sun.x = sun.tmr/6
|
||||
@ -210,7 +195,7 @@ function _draw()
|
||||
line(21+cam_x,2+cam_y,30+cam_x,2+cam_y,8)
|
||||
spr(50,32+cam_x,0+cam_y)
|
||||
line(37+cam_x,2+cam_y,46+cam_x,2+cam_y,12)
|
||||
-- print(d20,48+cam_x,cam_y,10)
|
||||
print(crossbarnum,48+cam_x,cam_y,10)
|
||||
-- print(camy,56+cam_x,cam_y,11)
|
||||
end
|
||||
|
||||
@ -352,9 +337,6 @@ end
|
||||
-->8
|
||||
--camera follow functions
|
||||
|
||||
--this function will move the
|
||||
--camera to always put the
|
||||
--player at the center.
|
||||
function camera_follow()
|
||||
|
||||
cam_x=p.x-28
|
||||
@ -368,6 +350,49 @@ cam_y=mid(0,cam_y,76)
|
||||
|
||||
end
|
||||
|
||||
-->8
|
||||
--menu coroutines
|
||||
function open_menu()
|
||||
crossbar = true
|
||||
sfx(0,3,0)
|
||||
yield()
|
||||
if (crossbarnum == 0) then
|
||||
if (btn(0)) then crossbarnum=1 end --⬅️ Measure
|
||||
if (btn(1)) then crossbarnum=2 end --➡️Act
|
||||
if (btn(2)) then crossbarnum=3 end --⬆️Build
|
||||
if (btn(3)) then crossbarnum=4 end --⬇️Plant
|
||||
end
|
||||
sfx(0,3,0)
|
||||
yield()
|
||||
if (crossbarnum>0) then
|
||||
if btn(0) then i=0 end
|
||||
if btn(1) then i=1 end
|
||||
if btn(2) then i=2 end
|
||||
if btn(3) then i=3 end
|
||||
if (crossbarnum==1) then _measure(i) end
|
||||
if (crossbarnum==2) then _act(i) end
|
||||
if (crossbarnum==3) then _build(i) end
|
||||
if (crossbarnum==4) then _plant(i) end
|
||||
end
|
||||
sfx(0,3,0)
|
||||
yield()
|
||||
if (crossbarnum==4 and btnp(2)) then mset(flr(p.x+3)/8,flr(p.y+5)/8-1,46) close_menu() end --crops
|
||||
if (crossbarnum==4 and btnp(1)) then mset(flr(p.x+3)/8,flr(p.y+5)/8-1,42) close_menu() end --grass
|
||||
if (crossbarnum==4 and btnp(3)) then mset(flr(p.x+3)/8,flr(p.y+5)/8-1,44) close_menu() end --shrubs
|
||||
if (crossbarnum==4 and btnp(0)) then mset(flr(p.x+3)/8,flr(p.y+5)/8-1,46) close_menu() end --trees
|
||||
sfx(0,3,0)
|
||||
coresume(close_menu_cor)
|
||||
if (costatus(close_menu_cor)=="dead") then close_menu_cor = cocreate(close_menu) end
|
||||
yield()
|
||||
end
|
||||
|
||||
function close_menu()
|
||||
crossbar = false
|
||||
crossbarnum = 0
|
||||
sfx(1,3,0)
|
||||
yield()
|
||||
end
|
||||
|
||||
__gfx__
|
||||
65566600000003b0004400000007000070000070000c000000007a9000007770000800000666650077777777000880000011110000007000000a900000006d00
|
||||
6666656000003b3004ff4440000700000700070000c6c0000007a9000007777700088008000056d0711111110888888001999910000766000a0000900006d000
|
||||
|
Loading…
Reference in New Issue
Block a user