
現在の色または選択した色で塗りつぶされた図形を印刷したい(例:\e[31m)
私の目標は、画面上に塗りつぶされた円 (文字 o) を印刷することですが、背景はそのまま残ります。
ついにゲーム「ルノ」のボードを描くことができるようになります。
答え1
echo '
████████
██████████████
████████████████
██████████████████
██████████████████
████████████████
██████████████
████████'
または、プログラム的に、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, ""
}}'
█████████████
██████████████████
██████████████████████
████████████████████████
███████████████████████████
█████████████████████████████
███████████████████████████████
████████████████████████████████
██████████████████████████████████
███████████████████████████████████
████████████████████████████████████
█████████████████████████████████████
██████████████████████████████████████
███████████████████████████████████████
███████████████████████████████████████
████████████████████████████████████████
████████████████████████████████████████
████████████████████████████████████████
████████████████████████████████████████
████████████████████████████████████████
████████████████████████████████████████
████████████████████████████████████████
████████████████████████████████████████
████████████████████████████████████████
███████████████████████████████████████
███████████████████████████████████████
██████████████████████████████████████
█████████████████████████████████████
████████████████████████████████████
███████████████████████████████████
██████████████████████████████████
████████████████████████████████
███████████████████████████████
█████████████████████████████
███████████████████████████
████████████████████████
██████████████████████
██████████████████
█████████████
x
通常、終端文字は幅よりも高さが大きいため、軸を伸ばす必要がある場合があります。
$ 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, ""
}}'
██████████████████
████████████████████████
█████████████████████████████
████████████████████████████████
███████████████████████████████████
█████████████████████████████████████
███████████████████████████████████████
████████████████████████████████████████
████████████████████████████████████████
████████████████████████████████████████
████████████████████████████████████████
████████████████████████████████████████
███████████████████████████████████████
█████████████████████████████████████
███████████████████████████████████
████████████████████████████████
█████████████████████████████
████████████████████████
██████████████████