Module:DropsLineTest: Difference between revisions

From Roat Pkz
Jump to navigation Jump to search
No edit summary
No edit summary
Line 10: Line 10:
         {1, 25, "#00FF00"},    -- Green for 1-25
         {1, 25, "#00FF00"},    -- Green for 1-25
         {26, 100, "#FFFF00"},  -- Yellow for 26-100
         {26, 100, "#FFFF00"},  -- Yellow for 26-100
         {101, 1000, "#FFA500"} -- Orange for 101-1000
         {101, 1000, "#FFA500"},-- Orange for 101-1000
        {1001, math.huge, "#FF0000"} -- Red for 1001+
     }
     }


     -- Determine color based on input number for each part of the output
     -- Determine color based on input number for each part of the output
    local color = "#FF0000" -- Default to red for numbers 1001+
     for _, range in ipairs(colorRanges) do
     for _, range in ipairs(colorRanges) do
         local min, max, rangeColor = unpack(range)
         local min, max, rangeColor = unpack(range)
         if inputNumber >= min and inputNumber <= max then
         if inputNumber >= min and inputNumber <= max then
             color = rangeColor
             for i = 1, 3 do
                local value = inputNumber * (0.85 - (i - 1) * 0.10)
                local color = rangeColor
                if value > max then
                    color = "#FF0000" -- Red if value exceeds maximum range
                end
                table.insert(output, "| style=\"background-color: " .. color .. ";\" | 1/" .. value)
            end
             break
             break
         end
         end
     end
     end
   
    -- Add output with chosen color
    table.insert(output, "| style=\"background-color: " .. color .. ";\" | 1/" .. inputNumber)
    table.insert(output, "| style=\"background-color: " .. color .. ";\" | 1/" .. (inputNumber * 0.85)) -- 10%
    table.insert(output, "| style=\"background-color: " .. color .. ";\" | 1/" .. (inputNumber * 0.75)) -- 20%
      
      
     return table.concat(output, '\n')
     return table.concat(output, '\n')

Revision as of 17:46, 5 May 2024

Documentation for this module may be created at Module:DropsLineTest/doc

local p = {}

-- Define a function to generate output numbers based on the input
function p.generateOutput(frame)
    local inputNumber = tonumber(frame.args[1]) or 0
    local output = {}

    -- Define color ranges
    local colorRanges = {
        {1, 25, "#00FF00"},    -- Green for 1-25
        {26, 100, "#FFFF00"},  -- Yellow for 26-100
        {101, 1000, "#FFA500"},-- Orange for 101-1000
        {1001, math.huge, "#FF0000"} -- Red for 1001+
    }

    -- Determine color based on input number for each part of the output
    for _, range in ipairs(colorRanges) do
        local min, max, rangeColor = unpack(range)
        if inputNumber >= min and inputNumber <= max then
            for i = 1, 3 do
                local value = inputNumber * (0.85 - (i - 1) * 0.10)
                local color = rangeColor
                if value > max then
                    color = "#FF0000" -- Red if value exceeds maximum range
                end
                table.insert(output, "| style=\"background-color: " .. color .. ";\" | 1/" .. value)
            end
            break
        end
    end
    
    return table.concat(output, '\n')
end

return p