Module:Chessboard/Chu shogi explained

local p =

function p.dims return 12, 12end

function p.letters return end

p.pattern = '%w%w%w'

function p.image_board(size) return string.format('', 12 * size, 12 * size)end

function p.image_square(pc, row, col, size) local colornames = local piecenames = local symnames = local colchar = local color = mw.ustring.gsub(pc, '^.*(%w)(%w)(%w).*$', '%3') or local piece = mw.ustring.gsub(pc, '^.*(%w)(%w)(%w).*$', '%1%2') or local alt = colchar[col] .. row .. ' '

if colornames[color] and piecenames[piece] then alt = alt .. colornames[color][piecenames[piece]['gender']] .. ' ' .. piecenames[piece]['name'] else alt = alt .. (symnames[piece .. color] or piece .. ' ' .. color) end

fn =

if pc

'aml' then fn = 'Angle_Mover_(Chu_Hieroglyph)' elseif pc

'amd' then fn = 'Angle_Mover_(Chu_Hieroglyph)-opposite' elseif pc

'btl' then fn = 'Blind_Tiger_(Chu_Hieroglyph)' elseif pc

'btd' then fn = 'Blind_Tiger_(Chu_Hieroglyph)-opposite' elseif pc

'cgl' then fn = 'Copper_General_(Chu_Hieroglyph)' elseif pc

'cgd' then fn = 'Copper_General_(Chu_Hieroglyph)-opposite' elseif pc

'dhl' then fn = 'Dragon_Horse_(Chu_Hieroglyph)' elseif pc

'dhd' then fn = 'Dragon_Horse_(Chu_Hieroglyph)-opposite' elseif pc

'dkl' then fn = 'Dragon_King_(Chu_Hieroglyph)' elseif pc

'dkd' then fn = 'Dragon_King_(Chu_Hieroglyph)-opposite' elseif pc

'del' then fn = 'Drunk_Elephant_(Chu_Hieroglyph)' elseif pc

'ded' then fn = 'Drunk_Elephant_(Chu_Hieroglyph)-opposite' elseif pc

'fll' then fn = 'Ferocious_Leopard_(Chu_Hieroglyph)' elseif pc

'fld' then fn = 'Ferocious_Leopard_(Chu_Hieroglyph)-opposite' elseif pc

'fcl' then fn = 'Flying_Chariot_(Chu_Hieroglyph)' elseif pc

'fcd' then fn = 'Flying_Chariot_(Chu_Hieroglyph)-opposite' elseif pc

'fol' then fn = 'Flying_Ox_(Chu_Hieroglyph)' elseif pc

'fod' then fn = 'Flying_Ox_(Chu_Hieroglyph)-opposite' elseif pc

'fsl' then fn = 'Flying_Stag_(Chu_Hieroglyph)' elseif pc

'fsd' then fn = 'Flying_Stag_(Chu_Hieroglyph)-opposite' elseif pc

'pnl' then fn = 'Foot_Soldier_(Chu_Hieroglyph)' elseif pc

'pnd' then fn = 'Foot_Soldier_(Chu_Hieroglyph)-opposite' elseif pc

'fbl' then fn = 'Free_Boar_(Chu_Hieroglyph)' elseif pc

'fbd' then fn = 'Free_Boar_(Chu_Hieroglyph)-opposite' elseif pc

'fkl' then fn = 'Free_King_(Chu_Hieroglyph)' elseif pc

'fkd' then fn = 'Free_King_(Chu_Hieroglyph)-opposite' elseif pc

'gbl' then fn = 'Go-Between_(Chu_Hieroglyph)' elseif pc

'gbd' then fn = 'Go-Between_(Chu_Hieroglyph)-opposite' elseif pc

'ggl' then fn = 'Golden_General_(Chu_Hieroglyph)' elseif pc

'ggd' then fn = 'Golden_General_(Chu_Hieroglyph)-opposite' elseif pc

'hfl' then fn = 'Horned_Falcon_(Chu_Hieroglyph)' elseif pc

'hfd' then fn = 'Horned_Falcon_(Chu_Hieroglyph)-opposite' elseif pc

'icl' then fn = 'Incense_Chariot_(Chu_Hieroglyph)' elseif pc

'icd' then fn = 'Incense_Chariot_(Chu_Hieroglyph)-opposite' elseif pc

'jdl' then fn = 'Jade_General_(Chu_Hieroglyph)' elseif pc

'jdd' then fn = 'Jade_General_(Chu_Hieroglyph)-opposite' elseif pc

'kgl' then fn = 'King_General_(Chu_Hieroglyph)' elseif pc

'kgd' then fn = 'King_General_(Chu_Hieroglyph)-opposite' elseif pc

'knl' then fn = 'Kirin_(Chu_Hieroglyph)' elseif pc

'knd' then fn = 'Kirin_(Chu_Hieroglyph)-opposite' elseif pc

'lnl' then fn = 'Lion_(Chu_Hieroglyph)' elseif pc

'lnd' then fn = 'Lion_(Chu_Hieroglyph)-opposite' elseif pc

'pxl' then fn = 'Phoenix_(Chu_Hieroglyph)' elseif pc

'pxd' then fn = 'Phoenix_(Chu_Hieroglyph)-opposite' elseif pc

'prl' then fn = 'Prince_(Chu_Hieroglyph)' elseif pc

'prd' then fn = 'Prince_(Chu_Hieroglyph)-opposite' elseif pc

'rcl' then fn = 'Reverse_Chariot_(Chu_Hieroglyph)' elseif pc

'rcd' then fn = 'Reverse_Chariot_(Chu_Hieroglyph)-opposite' elseif pc

'sml' then fn = 'Side_Mover_(Chu_Hieroglyph)' elseif pc

'smd' then fn = 'Side_Mover_(Chu_Hieroglyph)-opposite' elseif pc

'sgl' then fn = 'Silver_General_(Chu_Hieroglyph)' elseif pc

'sgd' then fn = 'Silver_General_(Chu_Hieroglyph)-opposite' elseif pc

'sel' then fn = 'Soaring_Eagle_(Chu_Hieroglyph)' elseif pc

'sed' then fn = 'Soaring_Eagle_(Chu_Hieroglyph)-opposite' elseif pc

'tnl' then fn = 'Tokin_(Chu_Hieroglyph)' elseif pc

'tnd' then fn = 'Tokin_(Chu_Hieroglyph)-opposite' elseif pc

'vml' then fn = 'Vertical_Mover_(Chu_Hieroglyph)' elseif pc

'vmd' then fn = 'Vertical_Mover_(Chu_Hieroglyph)-opposite' elseif pc

'wel' then fn = 'Whale_(Chu_Hieroglyph)' elseif pc

'wed' then fn = 'Whale_(Chu_Hieroglyph)-opposite' elseif pc

'whl' then fn = 'White_Horse_(Chu_Hieroglyph)' elseif pc

'whd' then fn = 'White_Horse_(Chu_Hieroglyph)-opposite' elseif pc

'ial' then fn = 'Angle_Mover_(Chu_Hieroglyph)-inverted' elseif pc

'iad' then fn = 'Angle_Mover_(Chu_Hieroglyph)-opposite-inverted' elseif pc

'ihl' then fn = 'Dragon_Horse_(Chu_Hieroglyph)-inverted' elseif pc

'ihd' then fn = 'Dragon_Horse_(Chu_Hieroglyph)-opposite-inverted' elseif pc

'idl' then fn = 'Dragon_King_(Chu_Hieroglyph)-inverted' elseif pc

'idd' then fn = 'Dragon_King_(Chu_Hieroglyph)-opposite-inverted' elseif pc

'iel' then fn = 'Drunk_Elephant_(Chu_Hieroglyph)-inverted' elseif pc

'ied' then fn = 'Drunk_Elephant_(Chu_Hieroglyph)-opposite-inverted' elseif pc

'itl' then fn = 'Flying_Chariot_(Chu_Hieroglyph)-inverted' elseif pc

'itd' then fn = 'Flying_Chariot_(Chu_Hieroglyph)-opposite-inverted' elseif pc

'ikl' then fn = 'Free_King_(Chu_Hieroglyph)-inverted' elseif pc

'ikd' then fn = 'Free_King_(Chu_Hieroglyph)-opposite-inverted' elseif pc

'ill' then fn = 'Lion_(Chu_Hieroglyph)-inverted' elseif pc

'ild' then fn = 'Lion_(Chu_Hieroglyph)-opposite-inverted' elseif pc

'isl' then fn = 'Side_Mover_(Chu_Hieroglyph)-inverted' elseif pc

'isd' then fn = 'Side_Mover_(Chu_Hieroglyph)-opposite-inverted' elseif pc

'ivl' then fn = 'Vertical_Mover_(Chu_Hieroglyph)-inverted' elseif pc

'ivd' then fn = 'Vertical_Mover_(Chu_Hieroglyph)-opposite-inverted' end

return string.format('', fn, size, size, alt, alt)

end

return p