Introdução
Obi-Wan Kenobi, Qui-Gon Jinn e Darth Maul estão prestes a lutar! No entanto, todos eles se esqueceram de trazer seus respectivos sabres de luz. Escreva um programa ou função que, dada a string Jedi
como entrada, gere uma imagem semelhante a esta * :
e, dada a string Sith
, gera uma imagem semelhante a esta:
Especificações das imagens
Qualquer um dos três sabres de luz (a lâmina branca, incluindo a borda redonda no final (2 bordas redondas para a vermelha) e a alça ) tem 900 px de comprimento (isso não inclui o gradiente de cor ao redor da lâmina).
A aresta redonda no final da lâmina é um meio-círculo (uma aproximação discreta dela, obviamente) com um diâmetro igual à largura da lâmina.
A lâmina (ou seja, a parte branca do sabre de luz) tem 12px de largura.
Os sabres de luz verde e azul são separados por 200 px (da linha central da lâmina verde à linha central da lâmina azul).
A alça para todos os 3 sabres de luz é de 180 px (1/5 do comprimento total). Portanto, a lâmina em si, incluindo a (s) borda (s) redonda (s), tem 720px para os sabres de luz azuis e verdes e 360px para as duas lâminas do sabre de luz vermelho.
A alça dos sabres de luz azul e verde fica na parte inferior do sabre de luz. A alça do sabre de luz vermelho é centralizada horizontalmente.
O comprimento do gradiente desde a borda da lâmina branca até uma cor completamente branca é 1,5 * a largura da lâmina (por exemplo, 18 px para as partes lineares).
O gradiente verde passa de RGB (0,255,0) para branco (255,255,255) (ou transparente, se for mais fácil para você implementar). O gradiente vermelho passa de (255,0,0) para branco e o gradiente azul passa de (0,0,255) para branco.
A cor da alça é RGB (128,128,128).
Pode haver um espaço vazio em branco ao redor do (s) sabre (s) de luz.
Entradas
Quer Sith
ou Jedi
como uma string. Você pode pegar essa string no STDIN, como um argumento de função, parâmetro de linha de comando ou algo semelhante. Você pode assumir que a entrada será sempre exatamente Sith
ou Jedi
nada mais.
Resultado
Você deve gerar um arquivo de imagem contendo a imagem correspondente à sequência de entrada. Você é relativamente livre para escolher o formato de imagem que desejar, desde que seja uma imagem True Color .
Pontuação
Isso é código-golfe , então a resposta mais curta em bytes vence. Que a força esteja com você.
* As imagens neste post não são exibidas em tamanho real.