터미널에 채워진 모양 인쇄

터미널에 채워진 모양 인쇄

현재 색상이나 선택한 색상으로 채워진 일부 도형을 인쇄하고 싶습니다(예: \e[31m)

내 목표는 화면에 단색 원(문자 o)을 인쇄하는 것이지만 배경은 그대로 유지됩니다.

드디어 Luno 게임용 보드를 그릴 수 있게 되었습니다.

답변1

echo '
     ████████
  ██████████████
 ████████████████
██████████████████
██████████████████
 ████████████████
  ██████████████
     ████████'

또는 프로그래밍 방식으로 유니코드 복싱 문자 대신 역방향 비디오를 사용합니다.

$ 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, ""
   }}'
           ██████████████████
        ████████████████████████
     █████████████████████████████
    ████████████████████████████████
  ███████████████████████████████████
 █████████████████████████████████████
███████████████████████████████████████
████████████████████████████████████████
████████████████████████████████████████
████████████████████████████████████████
████████████████████████████████████████
████████████████████████████████████████
███████████████████████████████████████
 █████████████████████████████████████
  ███████████████████████████████████
    ████████████████████████████████
     █████████████████████████████
        ████████████████████████
           ██████████████████

관련 정보