Lendo o texto da fonte millitext
Há uma fonte aqui que encaixa cada caractere em um único bloco de 1x5 pixel. Isso é feito (supondo que você esteja usando uma tela LCD) usando os canais RGB de cada pixel para expandir o pixel em três subcolunas, uma para cada canal. Sua tarefa é coletar uma sequência de texto codificada nessa fonte e 'decodificá-la'.
Millitext Alphabet
CHARACTER: 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ
ENCODING: WYWBMRRMMMWYWYWWWMWBMRMYGYGYCWMMMMMW
MGBWMRRMMMMMRMRRRMGBMRWMMMMMRGMMMMMB
MGWWWWWBWWWYRMWWMWGBYRWMMYMYGGMMWGGG
MGRBBBMBMBMMRMRRMMGBMRMMMRWMBGMCWMGR
WWWWBWWBWWMYWYWRWMWWMWMMGRCMYGWBMMGW
Abreviei cada cor para um símbolo de um caractere (R = vermelho, G = verde, B = azul, C = ciano, Y = amarelo, M = magenta, W = branco).
Formato de entrada
O formato de entrada para isso é bastante aberto. Você pode ter a entrada como uma matriz contendo cada coluna, uma matriz contendo cada linha, a char[][]
ou algo assim. Você também pode optar por usar as palavras completas "vermelho", "verde", "azul", com maiúsculas / minúsculas à sua escolha (mas deve ser consistente para cada palavra! Você não pode usar "VERMELHO" e também "verde" ou "azul").
Se o seu idioma o suportar, você também poderá inserir cores (no entanto, isso pode funcionar, eu não sei de antemão).
Você pode supor que a entrada SÓ conterá caracteres codificados no alfabeto acima (em particular, não haverá espaços ou pontuação na sua saída).
Formato de saída
Você pode gerar uma string ou algum tipo de matriz de caracteres. Você pode escolher se as letras são maiúsculas ou minúsculas, mas todas devem ter o mesmo caso.
Exemplo
MWRRGMGYRY
MRRRMMMMRM
WWRRMWMYRM -> HELLOWORLD
MRRRMWMMRM
MWWWGMGMWY
Regras
Isso é código-golfe , então a resposta mais curta vence!
Conjunto de teste
WMWGMWWMYYGMYWGMBMMYWYGMWYWMWRWWMYGW
GMRMMGRMMMMMMRMMBMWMRMMMRMGMRRMBMMMR
GWWMMGRYYYMWMWMGBMWYWMMMWYGWWRWGGMMM -> THEQUICKBROWNFOXJUMPEDOVERTHELAZYDOG
GMRWMGRMMMMWMRMMBMMRRMMCRMGMRRMRGMMM
GMWCWWWMYMGMMRGMWWMRWYGBWMGMWWMWGYGW