1
0
Fork 0
forked from Simnation/Main
Main/resources/[freizeit]/[gym]/ps-ui/client/thermite.lua

35 lines
1.9 KiB
Lua
Raw Normal View History

2025-08-11 16:51:34 +02:00
local correctBlocksBasedOnGrid = {
[5] = 10,
[6] = 14,
[7] = 18,
[8] = 20,
[9] = 24,
[10] = 28,
}
--- Starts the Thermite game with the specified parameters.
--- @param cb function: Callback function that will receive the result of the game (true for success, false for failure).
--- @param time number|nil: Time duration for the game in seconds. Default is 10 if nil.
--- @param gridsize number|nil: Size of the game grid (number of blocks per side). Default is 6 if nil.
--- @param wrong number|nil: Maximum number of incorrect answers allowed. Default is 3 if nil.
--- @param correctBlocks number|nil: Number of correct blocks to display. If not provided, it is determined based on the grid size.
local function thermite(cb, time, gridsize, wrong, correctBlocks)
-- Default values if parameters are not provided
if time == nil then time = 10 end
if gridsize <= 5 or gridsize == nil then gridsize = 6 end
if wrong == nil then wrong = 3 end
local correctBlockCount = correctBlocks or correctBlocksBasedOnGrid[gridsize]
DebugPrint("Thermite called with " .. correctBlockCount .. " correct blocks and " .. time .. " time")
SendNUI("GameLauncher", cb, { -- Use SendNUI with nil callback
game = "MemoryGame", -- Name of the game
gameName = "Memory Game", -- Display name of the game
gameDescription = "Test your memory with Thermite! Match blocks on a grid before time runs out. Adjust grid size and incorrect answers for added challenge!", -- Description of the game
amountOfAnswers = correctBlockCount, -- Number of correct blocks to display
gameTime = time, -- Time duration for the game
maxAnswersIncorrect = wrong, -- Maximum number of incorrect answers allowed
displayInitialAnswersFor = 3, -- Time to display initial answers (seconds)
gridSize = gridsize, -- Size of the game grid
}, true)
end
exports("Thermite", thermite)