コンテンツにスキップ
大乱闘スマッシュブラザーズWikiで記事を編集するにはアカウントの作成ログインが必要です。編集方法や方針などについては、大乱闘スマッシュブラザーズWiki:編集ガイドライン‎をご覧ください。

「モジュール:有無」の版間の差分

提供: 大乱闘スマッシュブラザーズWiki
編集の要約なし
編集の要約なし
68行目: 68行目:
BG_LEFT=BG_COLORS.OFF,
BG_LEFT=BG_COLORS.OFF,
FONT_LEFT=FONT_COLORS.OFF,
FONT_LEFT=FONT_COLORS.OFF,
BORDER_LEFT=BORDER_COLORS.OFF,
BORDER_LEFT=BORDER_COLORS.ON,
BG_RIGHT=BG_COLORS.FORWIIU,
BG_RIGHT=BG_COLORS.FORWIIU,
FONT_RIGHT=FONT_COLORS.ON,
FONT_RIGHT=FONT_COLORS.ON,
76行目: 76行目:
BG_LEFT=BG_COLORS.FOR3DS,
BG_LEFT=BG_COLORS.FOR3DS,
FONT_LEFT=FONT_COLORS.ON,
FONT_LEFT=FONT_COLORS.ON,
BORDER_LEFT=BORDER_COLORS.ON,
BORDER_LEFT=BG_COLORS.FOR3DS,
BG_RIGHT=BG_COLORS.OFF,
BG_RIGHT=BG_COLORS.OFF,
FONT_RIGHT=FONT_COLORS.OFF,
FONT_RIGHT=FONT_COLORS.OFF,
BORDER_RIGHT=BG_COLORS.OFF
BORDER_RIGHT=BORDER_COLORS.ON
}
}
local COLORS_FOR_11 = {
local COLORS_FOR_11 = {
BG_LEFT=BG_COLORS.FOR3DS,
BG_LEFT=BG_COLORS.FOR3DS,
FONT_LEFT=FONT_COLORS.ON,
FONT_LEFT=FONT_COLORS.ON,
BORDER_LEFT=BORDER_COLORS.ON,
BORDER_LEFT=BG_COLORS.FOR3DS,
BG_RIGHT=BG_COLORS.FORWIIU,
BG_RIGHT=BG_COLORS.FORWIIU,
FONT_RIGHT=FONT_COLORS.ON,
FONT_RIGHT=FONT_COLORS.ON,
105行目: 105行目:
}
}


local function replaceAll(a, b, c)
local function buildHtmlDivided(colors, textLeft, textRight)
local result = string.gsub(a, b, c)
local a = {
return result
'<span style="white-space:nowrap;">',
end
'<span ',
 
'style="',
local function templateDivided(colors, textLeft, textRight)
'display:inline-block;',
local str = [[
'bottom:1px;',
<span style="white-space:nowrap;">
'position:relative;',
<span
'line-height:1.5em;',
style="
'text-align:center;',
display:inline-block;
'font-size:70%;',
bottom:1px;
'font-weight:bold;',
position:relative;
'width:1.75em;',
line-height:1.5em;
'border:solid 1px ' .. colors.BORDER_LEFT .. ';',
text-align:center;
'border-radius:1em 0 0 1em;',
font-size:70%;
'background:' .. colors.BG_LEFT .. ';',
font-weight:bold;
'color:' .. colors.FONT_LEFT .. ';',
width:1.75em;
'"',
border:solid 1px ★borderColorLeft★;
'>',
border-radius:1em 0 0 1em;
textLeft,
background:★bgColorLeft★;
'</span>',
color:★fontColorLeft★;
'<span ',
"
'style="',
>
'display:inline-block;',
★textLeft★
'bottom:1px;',
</span>
'position:relative;',
<span
'line-height:1.5em;',
style="
'text-align:center;',
display:inline-block;
'font-size:70%;',
bottom:1px;
'font-weight:bold;',
position:relative;
'width:1.75em;',
line-height:1.5em;
'border:solid 1px ' .. colors.BORDER_RIGHT .. ';',
text-align:center;
'border-radius:0 1em 1em 0;',
font-size:70%;
'margin-right:3px;',
font-weight:bold;
'background:' .. colors.BG_RIGHT .. ';',
width:1.75em;
'color:' .. colors.FONT_RIGHT .. ';',
border:solid 1px ★borderColorRight★;
'"',
border-radius:0 1em 1em 0;
'>',
margin-right:3px;
textRight,
background:★bgColorRight★;
'</span>',
color:★fontColorRight★;
'</span>'
"
}
>
★textRight★
</span>  
</span>  
]]
str = replaceAll(str, "★fontColorLeft★", colors.FONT_LEFT)
return table.concat(a, "")
str = replaceAll(str, "★bgColorLeft★", colors.BG_LEFT)
str = replaceAll(str, "★borderColorLeft★", colors.BORDER_LEFT)
str = replaceAll(str, "★textLeft★", textLeft)
str = replaceAll(str, "★fontColorRight★", colors.FONT_RIGHT)
str = replaceAll(str, "★bgColorRight★", colors.BG_RIGHT)
str = replaceAll(str, "★borderColorRight★", colors.BORDER_RIGHT)
str = replaceAll(str, "★textRight★", textRight)
return str
end
end


local function buildHtmlOne(colors, text)
local function buildHtmlOne(colors, text)
local str = [[
local a = {
<span style="white-space:nowrap;">
'<span style="white-space:nowrap;">',
<span
'<span ',
style="
'style="',
display:inline-block;
'display:inline-block;',
bottom:1px;
'bottom:1px;',
position:relative;
'position:relative;',
line-height:1.5em;
'line-height:1.5em;',
text-align:center;
'text-align:center;',
font-size:70%;
'font-size:70%;',
font-weight:bold;
'font-weight:bold;',
width:3.5em;
'width:3.5em;',
border:solid 1px ★borderColor★;
'border:solid 1px ' .. colors.BORDER .. ';',
border-radius:1em;
'border-radius:1em;',
margin-right:3px;
'margin-right:3px;',
background:★bgColor★;
'background:' .. colors.BG .. ';',
color:★fontColor★;
'color:' .. colors.FONT .. ';',
"
'"',
>
'>',
★text★
text,
</span>
'</span>',
</span>  
'</span>'
]]
}
str = replaceAll(str, "★fontColor★", colors.FONT)
 
str = replaceAll(str, "★bgColor★", colors.BG)
return table.concat(a, "")
str = replaceAll(str, "★borderColor★", colors.BORDER)
str = replaceAll(str, "★text★", text)
return str
end
end


function getHtmlDevided(on)
function getHtmlDevided(on)
if on == '0/0' then
if on == '0/0' then
return templateDivided(COLORS_FOR_00, '3', 'U')
return buildHtmlDivided(COLORS_FOR_00, '3', 'U')
elseif on == '0/1' then
elseif on == '0/1' then
return templateDivided(COLORS_FOR_01, '3', 'U')
return buildHtmlDivided(COLORS_FOR_01, '3', 'U')
elseif on == '1/0' then
elseif on == '1/0' then
return templateDivided(COLORS_FOR_10, '3', 'U')
return buildHtmlDivided(COLORS_FOR_10, '3', 'U')
elseif on == '1/1' then
elseif on == '1/1' then
return templateDivided(COLORS_FOR_11, '3', 'U')
return buildHtmlDivided(COLORS_FOR_11, '3', 'U')
else  
else  
return templateDivided(COLORS_FOR_00, '3', 'U')
return buildHtmlDivided(COLORS_FOR_00, '3', 'U')
end
end
end
end

2026年3月9日 (月) 07:28時点における版

このモジュールについての説明文ページを モジュール:有無/doc に作成できます

local p = {}

local BG_COLORS = {
	OFF="#FFF",
	N64="rgb(151,114,19)",
	DX="#705DA8",
	X="#FE6061",
	FOR3DS='#9A1424',
	FORWIIU='#0096C8',
	SP='repeating-linear-gradient(-45deg, #4d4d4d, #4d4d4d 1px, #000 1px, #000 4px)',
	UNKNOWN='#008000'
}

local FONT_COLORS = {
	OFF="#808080",
	ON="#FFF"
}

local BORDER_COLORS = {
	ON="transparent",
	OFF="#ccc"
}

local COLORS_OFF = {
	BG=BG_COLORS.OFF,
	FONT=FONT_COLORS.OFF,
	BORDER=BORDER_COLORS.OFF
}
local COLORS_UNKNOWN = {
	BG=BG_COLORS.UNKNOWN,
	FONT=FONT_COLORS.ON,
	BORDER=BORDER_COLORS.ON
}
local COLORS_64 = {
	BG=BG_COLORS.N64,
	FONT=FONT_COLORS.ON,
	BORDER=BORDER_COLORS.ON
}
local COLORS_DX = {
	BG=BG_COLORS.DX,
	FONT=FONT_COLORS.ON,
	BORDER=BORDER_COLORS.ON
}
local COLORS_X = {
	BG=BG_COLORS.X,
	FONT=FONT_COLORS.ON,
	BORDER=BORDER_COLORS.ON
}
local COLORS_3DS = {
	BG=BG_COLORS.FOR3DS,
	FONT=FONT_COLORS.ON,
	BORDER=BORDER_COLORS.ON
}
local COLORS_WIIU = {
	BG=BG_COLORS.FORWIIU,
	FONT=FONT_COLORS.ON,
	BORDER=BORDER_COLORS.ON
}
local COLORS_FOR_00 = {
	BG_LEFT=BG_COLORS.OFF,
	FONT_LEFT=FONT_COLORS.OFF,
	BORDER_LEFT=BORDER_COLORS.OFF,
	BG_RIGHT=BG_COLORS.OFF,
	FONT_RIGHT=FONT_COLORS.OFF,
	BORDER_RIGHT=BORDER_COLORS.OFF
}
local COLORS_FOR_01 = {
	BG_LEFT=BG_COLORS.OFF,
	FONT_LEFT=FONT_COLORS.OFF,
	BORDER_LEFT=BORDER_COLORS.ON,
	BG_RIGHT=BG_COLORS.FORWIIU,
	FONT_RIGHT=FONT_COLORS.ON,
	BORDER_RIGHT=BG_COLORS.FORWIIU
}
local COLORS_FOR_10 = {
	BG_LEFT=BG_COLORS.FOR3DS,
	FONT_LEFT=FONT_COLORS.ON,
	BORDER_LEFT=BG_COLORS.FOR3DS,
	BG_RIGHT=BG_COLORS.OFF,
	FONT_RIGHT=FONT_COLORS.OFF,
	BORDER_RIGHT=BORDER_COLORS.ON
}
local COLORS_FOR_11 = {
	BG_LEFT=BG_COLORS.FOR3DS,
	FONT_LEFT=FONT_COLORS.ON,
	BORDER_LEFT=BG_COLORS.FOR3DS,
	BG_RIGHT=BG_COLORS.FORWIIU,
	FONT_RIGHT=FONT_COLORS.ON,
	BORDER_RIGHT=BG_COLORS.FORWIIU
}
local COLORS_SP = {
	BG=BG_COLORS.SP,
	FONT=FONT_COLORS.ON,
	BORDER=BORDER_COLORS.ON
}

local TITLES = {
	N64='64',
	DX='DX',
	X='X',
	FOR3DS='3DS',
	FORWIIU='WiiU',
	FOR='for',
	SP='SP'
}

local function buildHtmlDivided(colors, textLeft, textRight)
	local a = {
		'<span style="white-space:nowrap;">',
			'<span ',
				'style="',
					'display:inline-block;',
					'bottom:1px;',
					'position:relative;',
					'line-height:1.5em;',
					'text-align:center;',
					'font-size:70%;',
					'font-weight:bold;',
					'width:1.75em;',
					'border:solid 1px ' .. colors.BORDER_LEFT .. ';',
					'border-radius:1em 0 0 1em;',
					'background:' .. colors.BG_LEFT .. ';',
					'color:' .. colors.FONT_LEFT .. ';',
				'"',
			'>',
				textLeft,
			'</span>',
			'<span ',
				'style="',
					'display:inline-block;',
					'bottom:1px;',
					'position:relative;',
					'line-height:1.5em;',
					'text-align:center;',
					'font-size:70%;',
					'font-weight:bold;',
					'width:1.75em;',
					'border:solid 1px ' .. colors.BORDER_RIGHT .. ';',
					'border-radius:0 1em 1em 0;',
					'margin-right:3px;',
					'background:' .. colors.BG_RIGHT .. ';',
					'color:' .. colors.FONT_RIGHT .. ';',
				'"',
			'>',
				textRight,
			'</span>',
		'</span>'
	}
		
	return table.concat(a, "")
end

local function buildHtmlOne(colors, text)
	local a = {
		'<span style="white-space:nowrap;">',
			'<span ',
				'style="',
					'display:inline-block;',
					'bottom:1px;',
					'position:relative;',
					'line-height:1.5em;',
					'text-align:center;',
					'font-size:70%;',
					'font-weight:bold;',
					'width:3.5em;',
					'border:solid 1px ' .. colors.BORDER .. ';',
					'border-radius:1em;',
					'margin-right:3px;',
					'background:' .. colors.BG .. ';',
					'color:' .. colors.FONT .. ';',
				'"',
			'>',
				text,
			'</span>',
		'</span>'
	}

	return table.concat(a, "")
end

function getHtmlDevided(on)
	if on == '0/0' then
		return buildHtmlDivided(COLORS_FOR_00, '3', 'U')
	elseif on == '0/1' then
		return buildHtmlDivided(COLORS_FOR_01, '3', 'U')
	elseif on == '1/0' then
		return buildHtmlDivided(COLORS_FOR_10, '3', 'U')
	elseif on == '1/1' then
		return buildHtmlDivided(COLORS_FOR_11, '3', 'U')
	else 
		return buildHtmlDivided(COLORS_FOR_00, '3', 'U')
	end
end

function getHtmlOneOn(title)
	if title == TITLES.N64 then
		return buildHtmlOne(COLORS_64, TITLES.N64)
	elseif title == TITLES.DX then
		return buildHtmlOne(COLORS_DX, TITLES.DX)
	elseif title == TITLES.X then
		return buildHtmlOne(COLORS_X, TITLES.X)
	elseif title == TITLES.FOR3DS then
		return buildHtmlOne(COLORS_3DS, TITLES.FOR3DS)
	elseif title == TITLES.FORWIIU then
		return buildHtmlOne(COLORS_WIIU, TITLES.FORWIIU)
	elseif title == TITLES.SP then
		return buildHtmlOne(COLORS_SP, TITLES.SP)
	else
		return buildHtmlOne(COLORS_UNKNOWN, '?')
	end
end

function getHtmlOneOff(title)
	local t = ''
	if title == TITLES.N64 then
		t = TITLES.N64
	elseif title == TITLES.DX then
		t = TITLES.DX
	elseif title == TITLES.X then
		t = TITLES.X
	elseif title == TITLES.FOR3DS then
		t = TITLES.FOR3DS
	elseif title == TITLES.FORWIIU then
		t = TITLES.FORWIIU
	elseif title == TITLES.SP then
		t = TITLES.SP
	else
		t = '?'
	end

	return buildHtmlOne(COLORS_OFF, t)
end
--[[
	frame.args.title	64|DX|X|3DS|WiiU|for|SP
	frame.args.on		0|1|0/0|0/1|1/0|1/1
]]--
function p.main(frame)
	local a = frame.args
	
	if a.title == TITLES.FOR then
		return getHtmlDevided(a.on)
	end
	
	if a.on == '0' then
		return getHtmlOneOff(a.title)
	end
	return getHtmlOneOn(a.title)
end

return p