From 6e5f0f202945dc0b2a6a9b71fce44c3b309a08ac Mon Sep 17 00:00:00 2001 From: fnicon Date: Fri, 13 Mar 2026 22:33:20 +0900 Subject: [PATCH] add mode switch --- game/main.lua | 31 +++++++++++++++++++++++++++---- game/src/modes/mode.lua | 24 ++++++++++++++++++++++++ game/src/modes/racing.lua | 9 +++++++++ game/src/modes/raising_sim.lua | 28 ++++++++++++++++++++++++++++ 4 files changed, 88 insertions(+), 4 deletions(-) create mode 100644 game/src/modes/mode.lua create mode 100644 game/src/modes/raising_sim.lua diff --git a/game/main.lua b/game/main.lua index 23fb53b..ac4d1ee 100644 --- a/game/main.lua +++ b/game/main.lua @@ -1,13 +1,36 @@ -local racing = require("src.modes.racing") +local mode = { + require("src.modes.racing"), + require("src.modes.raising_sim") +}; + +local mode_i = 1 function love.load() - racing.load() + mode[mode_i].load() end function love.update(dt) - racing.update(dt) + mode[mode_i].update(dt) end function love.draw() - racing.draw() + mode[mode_i].draw() +end + +function love.keyreleased(key, scancode) + if (key == "right") then + mode_i = mode_i + 1 + if (mode_i > 2) then + mode_i = 1 + end + end + mode[mode_i].keyreleased(key, scancode) +end + +function love.keypressed(key, scancode, isrepeat) + mode[mode_i].keypressed(key, scancode, isrepeat) +end + +function love.mousereleased(x, y, button, istouch, presses) + mode[mode_i].mousereleased(x, y, button, istouch, presses) end diff --git a/game/src/modes/mode.lua b/game/src/modes/mode.lua new file mode 100644 index 0000000..7e3169d --- /dev/null +++ b/game/src/modes/mode.lua @@ -0,0 +1,24 @@ +local mode = {} + + +function mode.load() + +end + +function mode.update(dt) +end + +function mode.draw() +end + +function mode.keyreleased(key, scancode) +end + +function mode.keypressed(key, scancode, isrepeat) +end + +function mode.mousereleased(x, y, button, istouch, presses) +end + + +return mode diff --git a/game/src/modes/racing.lua b/game/src/modes/racing.lua index 581017a..f2a8a40 100644 --- a/game/src/modes/racing.lua +++ b/game/src/modes/racing.lua @@ -60,4 +60,13 @@ function mode.draw() entities.racer:draw() end +function mode.keyreleased(key, scancode) +end + +function mode.keypressed(key, scancode, isrepeat) +end + +function mode.mousereleased(x, y, button, istouch, presses) +end + return mode diff --git a/game/src/modes/raising_sim.lua b/game/src/modes/raising_sim.lua new file mode 100644 index 0000000..6d98dd8 --- /dev/null +++ b/game/src/modes/raising_sim.lua @@ -0,0 +1,28 @@ +local mode = {} + +local entities = { + +} + + +function mode.load() + +end + +function mode.update(dt) +end + +function mode.draw() +end + +function mode.keyreleased(key, scancode) +end + +function mode.keypressed(key, scancode, isrepeat) +end + +function mode.mousereleased(x, y, button, istouch, presses) +end + + +return mode