Module:Hearts: Difference between revisions

From Zelda Dungeon Wiki
Jump to navigation Jump to search
Want an adless experience? Log in or Create an account.
No edit summary
(fix 0 handling maybe if I got order of operations right)
Line 3: Line 3:
function p.icons( frame )
function p.icons( frame )
   local icon = {
   local icon = {
     [0]    = "[[File:0 Heart.png|link=]]",
     [0]    = "",
     [0.25] = "[[File:1-4 Heart.png|link=]]",
     [0.25] = "[[File:1-4 Heart.png|link=]]",
     [0.5]  = "[[File:1-2 Heart.png|link=]]",
     [0.5]  = "[[File:1-2 Heart.png|link=]]",
     [0.75] = "[[File:3-4 Heart.png|link=]]",
     [0.75] = "[[File:3-4 Heart.png|link=]]",
     [1]    = "[[File:1 Heart.png|link=]]"
     [1]    = "[[File:1 Heart.png|link=]]",
    empty  = "[[File:0 Heart.png|link=]]"
   }
   }


Line 15: Line 16:
     local whole = math.floor( num )
     local whole = math.floor( num )
     local fraction = num - whole
     local fraction = num - whole
     output[#output+1] = string.rep( icon[1], whole ) .. icon[fraction]
     output[#output+1] = num == 0 and icon.empty or string.rep( icon[1], whole ) .. icon[fraction]
   end
   end
   return table.concat(output, "\n")
   return table.concat(output, "\n")

Revision as of 07:31, April 4, 2017

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

local p = {}

function p.icons( frame )
  local icon = {
    [0]    = "",
    [0.25] = "[[File:1-4 Heart.png|link=]]",
    [0.5]  = "[[File:1-2 Heart.png|link=]]",
    [0.75] = "[[File:3-4 Heart.png|link=]]",
    [1]    = "[[File:1 Heart.png|link=]]",
    empty  = "[[File:0 Heart.png|link=]]"
  }

  local output = {}
  for i,v in ipairs( frame:getParent().args ) do
    local num = tonumber( v )
    local whole = math.floor( num )
    local fraction = num - whole
    output[#output+1] = num == 0 and icon.empty or string.rep( icon[1], whole ) .. icon[fraction]
  end
  return table.concat(output, "\n")
end

return p