프로그래밍언어/C

[C] [별짓기] 모래시계 + 나비넥타이 = 돌아가는 모래시계

dan2el 2021. 8. 26. 10:16
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

int main(void) {

  int i, j, k, l;

  int num = 10;

  system("clear");

  for (l = 0; l < 20; l++) {
    //---------------------------------------모래시계

    printf("\n\n");
    for (i = 1; i < num / 2; i++) {

      printf("      ");

      for (j = 0; j < i; j++) {
        printf("    ");
      }

      for (k = 0; k < (num - 2 * i - 1); k++) {
        printf("*   ");
      }

      for (j = 0; j < i; j++) {
        printf("    ");
      }
      printf("\n\n");
    }

    for (i = 1; i < num / 2; i++) {

      printf("      ");

      for (j = 0; j < num / 2 - i; j++) {
        printf("    ");
      }
      for (k = 0; k < 2 * i - 1; k++) {
        printf("*   ");
      }
      for (j = 0; j < num / 2 - i - 1; j++) {
        printf("    ");
      }
      printf("\n\n");
    }
    printf("\n\n\n");

    usleep(200000);
    system("clear");

    //--------------------------------------오른쪽

    printf("\n");
    for (i = 1; i < num / 2 + 1; i++) {

      printf("                        ");

      for (k = 0; k < i; k++) {
        printf("*   ");
      }
      for (j = 0; j < num / 2 - i - 1; j++) {
        printf("    ");
      }
      printf("\n\n");
    }

    for (i = 1; i < num / 2 + 1; i++) {

      for (j = 0; j < i; j++) {
        printf("    ");
      }

      for (k = 0; k < (num / 2 - i + 1); k++) {
        printf("*   ");
      }

      for (j = 0; j < i; j++) {
        printf("    ");
      }
      printf("\n\n");
    }

    printf("\n\n\n");

    usleep(200000);
    system("clear");

    //-------------------------------------나비

    printf("\n\n");
    for (i = 1; i <= num / 2 - 1; i++) {

      printf("      ");

      for (j = 0; j < i; j++) {
        printf("*    ");
      }

      for (k = 0; k < (num - 2 - 2 * i); k++) {
        printf("     ");
      }

      for (j = 0; j < i; j++) {
        printf("*    ");
      }
      printf("\n\n");
    }

    for (i = 1; i < num / 2 - 1; i++) {

      printf("      ");
      for (j = 0; j < num / 2 - i - 1; j++) {
        printf("*    ");
      }
      for (k = 0; k < 2 * i; k++) {
        printf("     ");
      }
      for (j = 0; j < num / 2 - i - 1; j++) {
        printf("*    ");
      }
      printf("\n\n");
    }
    printf("\n\n\n\n");

    usleep(200000);
    system("clear");

    //-----------------------------------------왼쪽

    printf("\n");
    for (i = 1; i < num / 2 + 1; i++) {

      printf("    ");

      for (j = 0; j < num / 2 - i; j++) {
        printf("    ");
      }
      for (k = 0; k < i; k++) {
        printf("*   ");
      }
      printf("\n\n");
    }

    for (i = 1; i < num / 2 + 1; i++) {

      printf("                        ");

      for (k = 0; k < (num / 2 - i + 1); k++) {
        printf("*   ");
      }

      for (j = 0; j < i; j++) {
        printf("    ");
      }
      printf("\n\n");
    }

    printf("\n\n\n");

    usleep(200000);
    system("clear");

    //--------------------------------------------
  } // for
  return 0;
}

 

실행 결과