aboutsummaryrefslogtreecommitdiff
path: root/assets/scripts
diff options
context:
space:
mode:
authorArslaan Pathan <[email protected]>2025-06-14 22:15:33 +1200
committerArslaan Pathan <[email protected]>2025-06-14 22:15:33 +1200
commit890e67384706f67fd1a229366e45ca2effd7139a (patch)
tree8d073c54c8fe60651b56b7d5c6aaf83a3a5d611e /assets/scripts
parent50bc5a34d94580aa0836622d4328a43310eddb7f (diff)
downloadshowdownofthesticks-890e67384706f67fd1a229366e45ca2effd7139a.tar.xz
showdownofthesticks-890e67384706f67fd1a229366e45ca2effd7139a.zip
Partially implement Local2P
Diffstat (limited to 'assets/scripts')
-rw-r--r--assets/scripts/character-select.lua12
-rw-r--r--assets/scripts/local2P.lua31
2 files changed, 38 insertions, 5 deletions
diff --git a/assets/scripts/character-select.lua b/assets/scripts/character-select.lua
index 1ea39d7..06ee574 100644
--- a/assets/scripts/character-select.lua
+++ b/assets/scripts/character-select.lua
@@ -1,11 +1,13 @@
---@diagnostic disable: undefined-global
-characters = {"Cobalt Phantom", "Emerald Venom", "Golden Radiance", "Crimson Reaper"}
+characters = require("assets.characters.characters-data")
+
player1CharacterIndex = 1
player2CharacterIndex = 2
player1Character = characters[player1CharacterIndex]
player2Character = characters[player2CharacterIndex]
+
function StartGame()
if characterSelectType == "Local 2P" then
dofile("assets/scripts/local2P.lua")
@@ -56,8 +58,8 @@ function Update()
queueTextForRender(text, fontFile, x, y, fontSize, 255, 255, 255, 255)
-- Character Portraits & Names
- local imageFile_player1 = "assets/characters/" .. player1Character .. "/portrait.png"
- local imageFile_player2 = "assets/characters/" .. player2Character .. "/portrait.png"
+ local imageFile_player1 = player1Character.asset_dir .. "/portrait.png"
+ local imageFile_player2 = player2Character.asset_dir .. "/portrait.png"
local portraitWidth = 128
@@ -67,7 +69,7 @@ function Update()
local p1_x = (WIDTH // 4) - (portraitWidth // 2)
queueTextureForRender(imageFile_player1, p1_x, 300)
- local p1Name = player1Character
+ local p1Name = player1Character.name
local p1NameWidth = getTextWidth(nameFontFile, nameFontSize, p1Name)
local p1TextX = (WIDTH // 4) - (p1NameWidth // 2)
queueTextForRender(p1Name, nameFontFile, p1TextX, 570, nameFontSize, 255, 255, 255, 255)
@@ -75,7 +77,7 @@ function Update()
local p2_x = (WIDTH * 3 // 4) - (portraitWidth // 2)
queueTextureForRender(imageFile_player2, p2_x, 300)
- local p2Name = player2Character
+ local p2Name = player2Character.name
local p2NameWidth = getTextWidth(nameFontFile, nameFontSize, p2Name)
local p2TextX = (WIDTH * 3 // 4) - (p2NameWidth // 2)
queueTextForRender(p2Name, nameFontFile, p2TextX, 570, nameFontSize, 255, 255, 255, 255)
diff --git a/assets/scripts/local2P.lua b/assets/scripts/local2P.lua
index f9ca84d..05d603e 100644
--- a/assets/scripts/local2P.lua
+++ b/assets/scripts/local2P.lua
@@ -1,6 +1,37 @@
---@diagnostic disable: undefined-global
+
+function HandleP1Input()
+ if Input.isKeyDown("D") then
+ player1Character.x = player1Character.x + player1Character.speed;
+ end
+ if Input.isKeyDown("A") then
+ player1Character.x = player1Character.x - player1Character.speed;
+ end
+end
+
+function HandleP2Input()
+ if Input.isKeyDown("RIGHT") then
+ player2Character.x = player2Character.x + player2Character.speed;
+ end
+ if Input.isKeyDown("LEFT") then
+ player2Character.x = player2Character.x - player2Character.speed;
+ end
+end
+
function Setup()
+ player1Character.x = 250;
+ player2Character.x = WIDTH - 250 - (250 / 2)
+ player1Character.y = 250;
+ player2Character.y = 250;
+
+ player1Character.current_sprite = player1Character.asset_dir .. "/sprites/idle.png"
+ player2Character.current_sprite = player2Character.asset_dir .. "/sprites/idle.png"
end
function Update()
+ queueTextureForRender(player1Character.current_sprite, player1Character.x, player1Character.y)
+ queueTextureForRender(player2Character.current_sprite, player2Character.x, player2Character.y)
+
+ HandleP1Input()
+ HandleP2Input()
end