Module:Sandbox/Dyhdyh/sandbox
跳到导航
跳到搜索
歌曲 | 歌手 | 作词 | 作曲 | 编曲 | 单曲/专辑 | 发行公司 | 发售日期 | |
---|---|---|---|---|---|---|---|---|
片头曲(OP) | 3分29秒 | ヒトリエ | シノダ | ヒトリエ | 3分29秒 | HINICHIJOU RECORDS | 2021年6月2日 | |
片尾曲(ED) | Avid | SawanoHiroyuki[nZk]:mizuki | cAnON | 泽野弘之[1] | Avid/Hands Up to the Sky | SACRA MUSIC | 2021年6月9日 | |
Hands Up to the Sky | SawanoHiroyuki[nZk]:Laco |
- ↑ abc
local p = {} local getArgs = require('Module:Arguments').getArgs function p.main(frame) local input={{},{},{},{},{},{}} local format={{{},{},{},{},{},{},{},{},{}},{{},{},{},{},{},{},{},{},{}},{{},{},{},{},{},{},{},{},{}},{{},{},{},{},{},{},{},{},{}},{{},{},{},{},{},{},{},{},{}},{{},{},{},{},{},{},{},{},{}},{{},{},{},{},{},{},{},{},{}}} local line = 0 local column = 1 local output = '' local op = frame:expandTemplate{title='color', args={'red', '片头曲(OP)'}} local ed = frame:expandTemplate{title='color', args={'blue', '片尾曲(ED)'}} local args = getArgs(frame) for init=1,54,1 do if frame.args[init] == 'OP' or frame.args[init] == 'op' or frame.args[init] == 'ED' or frame.args[init] == 'ed' then line = line+1 column = 1 input[line][10] = 0 else column = column+1 end input[line][column] = args[init] end for m=1,6,1 do for n=1,9,1 do if input[m][n] then local link = mw.ustring.match(input[m][n],'%[%[(.*)%]%]') local ref = mw.ustring.find(input[m][n],'<ref') if ref then format[m][n][4] = 1 input[m][n] = mw.ustring.sub(input[m][n],1,ref-1) if link then format[m][n][3] = 1 input[m][n] = link end else if link then format[m][n][3] = 1 input[m][n] = link end end end end end for i=1,6,1 do for j=1,9,1 do format[i][j][1] = 1 format[i][j][2] = 1 if input[i][j] then for a= 1,8,1 do if input[i][j+a] == input[i][j] then format[i][j][1]=format[i][j][1]+1 input[i][j+a] = nil else break end end end end end for p=1,6,1 do for q=1,9,1 do if input[p][q] then for b= 1,6,1 do if input[p+b][q] == input[p][q] and format[p+b][q][1] == format[p][q][1] then format[p][q][2]=format[p][q][2]+1 input[p+b][q] = nil else break end end end end end for f=1,6,1 do for g=1,9,1 do if input[f][g] then if format[f][g][3] == 1 or format[f][g][4] == 1 then input[f][g] = frame.args[9*(f-1)+g] end end end end input[2][5] = frame.args[14] for x=1,6,1 do for y=1,9,1 do if input[x][y] == 'OP' or input[x][y] == 'op'then if format[x][y][2]~=1 then output = output..'|-\n!rowspan='..format[x][y][2]..'|'..op..'\n' else output = output.."|-\n!"..op..'\n' end end if input[x][y] == 'ED' or input[x][y] == 'ed' then if format[x][y][2]~=1 then output = output..'!rowspan='..format[x][y][2]..'|'..ed..'\n' else output = output.."!"..ed..'\n' end end if input[x][y] and input[x][y] ~= 'OP' and input [x][y] ~='ED' and input[x][y] ~= 'op' and input[x][y] ~= 'ed' and input[x][y+1] ~=0 then if format[x][y][1] == 1 then if format[x][y][2] == 1 then output = output..'||'..input[x][y] else output = output..'||rowspan='..format[x][y][2]..' style=\"text-align:center\"|'..input[x][y] end else if format[x][y][2] == 1 then output = output..'||colspan='..format[x][y][1]..' style=\"text-align:center\"|'..input[x][y] else output = output..'||colspan='..format[x][y][1]..' rowspan='..format[x][y][2]..' style=\"text-align:center\"|'..input[x][y] end end end if input[x][y+1] == 0 then if input[x][y] then if format[x][y][2] == 1 then output = output..'||'..input[x][y]..'\n|-\n' else output = output..'||rowspan='..format[x][y][2]..' style=\"text-align:center\"|'..input[x][y]..'\n|-\n' end else output = output..'\n|-\n' end end end end return output end return p