forked from Simnation/Main
35 lines
No EOL
1.9 KiB
Lua
35 lines
No EOL
1.9 KiB
Lua
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) |