Desafio
Dada a fase da lua, desenhe-a usando arte ASCII.
O seu programa deve lidar com lua nova, crescente crescente, primeiro trimestre, crescente crescente, lua cheia, crescente crescente, último trimestre e crescente crescente. Sua entrada será um número inteiro.
0 -> new moon
1 -> waxing crescent
2 -> first quarter
3 -> waxing gibbous
4 -> full moon
5 -> waning gibbous
6 -> last quarter
7 -> waning crescent
A arte ASCII é toda colocada em uma grade 16x8 (devido à proporção da dimensão dos caracteres). Você pode substituir .
por qualquer caractere e #
por qualquer outro caractere que não seja um espaço em branco.
A saída para lua nova deve ser:
................
................
................
................
................
................
................
................
Para encerar crescente:
..........######
............####
.............###
.............###
.............###
.............###
............####
..........######
No primeiro trimestre:
........########
........########
........########
........########
........########
........########
........########
........########
Para encerar gibbous:
......##########
....############
...#############
...#############
...#############
...#############
....############
......##########
E para lua cheia:
################
################
################
################
################
################
################
################
O crescente crescente é apenas o crescente crescente, com cada linha invertida, assim como o gibbous minguante e o gibbous crescente, e o primeiro e o último trimestre.
Regras
- As brechas padrão se aplicam
- Você pode escolher encerar / diminuir na direção oposta, se desejar, embora isso não faça diferença (os gráficos mostrados nesta pergunta são para o hemisfério norte)
- Sua saída deve ser exatamente como especificado. Suas novas linhas podem ser qualquer separador de linha razoável e você pode ter uma nova linha à direita, se desejar.
MoonPhase["Icon"]
é 17 bytes no Mathematica…