---@diagnostic disable: undefined-global function SafeInitCharacter(character, default_x, default_y) character.x = character.x or default_x character.y = character.y or default_y character.y_velocity = character.y_velocity or 1 character.current_sprite = character.asset_dir .. "/sprites/idle.png" end function Setup() SafeInitCharacter(player1Character, 250, 250) SafeInitCharacter(player2Character, WIDTH - 250 - (250 / 2), 250) end gravity = 1.2 -- POSITIVE gravity floor_y = HEIGHT - 250 function HandleP1Input() if Input.isKeyPressedOnce("W") and player1Character.y == floor_y then player1Character.y_velocity = player1Character.jump_strength * -1.0; end 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.isKeyPressedOnce("UP") and player2Character.y == floor_y then player2Character.y_velocity = player2Character.jump_strength * -1.0; end 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 Update() -- P1 physics player1Character.y_velocity = player1Character.y_velocity + gravity player1Character.y = player1Character.y + player1Character.y_velocity if player1Character.y > floor_y then player1Character.y = floor_y player1Character.y_velocity = 0 end -- P2 physics player2Character.y_velocity = player2Character.y_velocity + gravity player2Character.y = player2Character.y + player2Character.y_velocity if player2Character.y > floor_y then player2Character.y = floor_y player2Character.y_velocity = 0 end -- Render queueTextureForRender( player1Character.current_sprite, math.floor(player1Character.x), math.floor(player1Character.y) ) queueTextureForRender( player2Character.current_sprite, math.floor(player2Character.x), math.floor(player2Character.y) ) -- Input HandleP1Input() HandleP2Input() end