
Gostaria de imprimir algumas formas preenchidas com a cor atual ou selecionada (por exemplo, \e[31m)
Meu objetivo é imprimir um círculo preenchido (letra o) na tela, mas o fundo permanecerá como está.
finalmente poderei desenhar o tabuleiro do jogo Luno.
Responder1
echo '
████████
██████████████
████████████████
██████████████████
██████████████████
████████████████
██████████████
████████'
Ou programaticamente e usando vídeo reverso em vez do caractere boxing Unicode:
$ awk -v radius=20 'BEGIN{
for (y = -radius; y <= radius; y++) {
x = sqrt(radius * radius - y * y)
printf "%*s\033[7m%*s\033[27m\n", radius - x, "", 2 * x, ""
}}'
█████████████
██████████████████
██████████████████████
████████████████████████
███████████████████████████
█████████████████████████████
███████████████████████████████
████████████████████████████████
██████████████████████████████████
███████████████████████████████████
████████████████████████████████████
█████████████████████████████████████
██████████████████████████████████████
███████████████████████████████████████
███████████████████████████████████████
████████████████████████████████████████
████████████████████████████████████████
████████████████████████████████████████
████████████████████████████████████████
████████████████████████████████████████
████████████████████████████████████████
████████████████████████████████████████
████████████████████████████████████████
████████████████████████████████████████
███████████████████████████████████████
███████████████████████████████████████
██████████████████████████████████████
█████████████████████████████████████
████████████████████████████████████
███████████████████████████████████
██████████████████████████████████
████████████████████████████████
███████████████████████████████
█████████████████████████████
███████████████████████████
████████████████████████
██████████████████████
██████████████████
█████████████
Você pode querer esticar o x
eixo, pois os caracteres terminais geralmente são mais altos do que largos.
$ awk -v radius=10 'BEGIN{
for (y = -radius; y <= radius; y++) {
x = sqrt(radius * radius - y * y)
printf "%*s\033[7m%*s\033[27m\n", 2*(radius - x), "", 4 * x, ""
}}'
██████████████████
████████████████████████
█████████████████████████████
████████████████████████████████
███████████████████████████████████
█████████████████████████████████████
███████████████████████████████████████
████████████████████████████████████████
████████████████████████████████████████
████████████████████████████████████████
████████████████████████████████████████
████████████████████████████████████████
███████████████████████████████████████
█████████████████████████████████████
███████████████████████████████████
████████████████████████████████
█████████████████████████████
████████████████████████
██████████████████