Keyboard navigration + start of rules
This commit is contained in:
parent
f793c3e17a
commit
7a293234c9
53
0hh1.p8
53
0hh1.p8
|
@ -5,12 +5,49 @@ __lua__
|
||||||
#include board.lua
|
#include board.lua
|
||||||
#include states/menu.lua
|
#include states/menu.lua
|
||||||
#include states/game.lua
|
#include states/game.lua
|
||||||
|
#include states/rules.lua
|
||||||
|
|
||||||
__gfx__
|
__gfx__
|
||||||
00000000110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
00000000110000000001110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
00000000171000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
00000000171000000001711000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
00700700177100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
00700700177100001111771100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
00077000177710000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
00077000177710001777777100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
00077000177771000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
00077000177771001777777100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
00700700177710000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
00700700177710001111771100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
00000000171771000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
00000000171771000001711000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
00000000010171000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
00000000010171000001110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
11011011011001101101101100110110110110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
11011011011001101101101100110110110110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
cc0cc01101100cc0cc08801100cc0cc0880110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
cc0cc01101100cc0cc08801100cc0cc0880110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
11011011011001101101101100110110cc0110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
11011011011001101101101100110110cc0110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
11011088011001101108801100110110880110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
11011088011001101108801100110110880110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
|
|
@ -372,7 +372,8 @@ function Board.new()
|
||||||
local margin = 4
|
local margin = 4
|
||||||
for k,v in ipairs(tiles) do
|
for k,v in ipairs(tiles) do
|
||||||
local x,y = self:idx_xy(k)
|
local x,y = self:idx_xy(k)
|
||||||
local color = v == BLUE and 9 or v == YELLOW and 3 or 1
|
local color = v == BLUE and 12 or v == YELLOW and 8 or 1
|
||||||
|
if color == 1 then fillp(▒) else fillp(█) end
|
||||||
rectfill(
|
rectfill(
|
||||||
margin + (x-1)*w + (x-1)*(padding+1),
|
margin + (x-1)*w + (x-1)*(padding+1),
|
||||||
margin + (y-1)*w + (y-1)*(padding+1),
|
margin + (y-1)*w + (y-1)*(padding+1),
|
||||||
|
|
7
main.lua
7
main.lua
|
@ -7,6 +7,10 @@ poke(0x5F2D, 1)
|
||||||
local BLUE = 1
|
local BLUE = 1
|
||||||
local YELLOW = 2
|
local YELLOW = 2
|
||||||
|
|
||||||
|
-- 🅾️ Z[C]N ❎ [X]VM
|
||||||
|
-- X and C have the same position on QWERTY and AZERTY
|
||||||
|
local LEFT,RIGHT,UP,DOWN,BTN_O,BTN_X = 0,1,2,3,4,5
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Utils
|
-- Utils
|
||||||
--
|
--
|
||||||
|
@ -161,11 +165,12 @@ function _init()
|
||||||
mouse_y = 0
|
mouse_y = 0
|
||||||
|
|
||||||
states = {
|
states = {
|
||||||
|
rules = stateRules(),
|
||||||
menu = stateMenu(),
|
menu = stateMenu(),
|
||||||
game = stateGame()
|
game = stateGame()
|
||||||
}
|
}
|
||||||
|
|
||||||
setState(states.menu)
|
setState(states.rules)
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
function stateMenu()
|
function stateMenu()
|
||||||
|
|
||||||
local items = {"play", "rules"}
|
|
||||||
local selected = 1
|
local selected = 1
|
||||||
local buttons = {
|
local buttons = {
|
||||||
makeButton(10, 10, 30, 6, "play",
|
makeButton(10, 10, 30, 6, "play",
|
||||||
|
@ -17,16 +16,28 @@ function stateMenu()
|
||||||
|
|
||||||
return {
|
return {
|
||||||
_enter = _enter,
|
_enter = _enter,
|
||||||
|
|
||||||
_update = function()
|
_update = function()
|
||||||
for button in all(buttons) do
|
for button in all(buttons) do
|
||||||
button:update()
|
button:update()
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if btnp(UP) then
|
||||||
|
selected -= 1
|
||||||
|
elseif btnp(DOWN) then
|
||||||
|
selected += 1
|
||||||
|
elseif btnp(BTN_O) then
|
||||||
|
buttons[selected]:onClick()
|
||||||
|
end
|
||||||
|
selected = mid(1, selected, #buttons)
|
||||||
|
|
||||||
end,
|
end,
|
||||||
|
|
||||||
_draw = function()
|
_draw = function()
|
||||||
for k,button in ipairs(buttons) do
|
for k,button in ipairs(buttons) do
|
||||||
button:draw(selected == k)
|
button:draw(selected == k)
|
||||||
end
|
end
|
||||||
|
print("press 🅾️/c to continue", 8, 120, 7)
|
||||||
end
|
end
|
||||||
}
|
}
|
||||||
end
|
end
|
12
states/rules.lua
Normal file
12
states/rules.lua
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
function stateRules()
|
||||||
|
return {
|
||||||
|
_update=function()
|
||||||
|
end,
|
||||||
|
_draw=function()
|
||||||
|
print("1) you can't have more than\n 2 tiles of the same color\n in a row.", 2,2, 7)
|
||||||
|
sspr(0,32, 12,12, 8,24)
|
||||||
|
spr(2, 23, 25)
|
||||||
|
sspr(12,32, 12,12, 34,24)
|
||||||
|
end,
|
||||||
|
}
|
||||||
|
end
|
Loading…
Reference in New Issue
Block a user