macのターミナルで 動きのあるハート型を表示するプログラムを作りました
もっと簡潔に表示できる書き方があれば 教えて下さい
osx10.11.3です
よろしくお願いします
#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#define A "■"
#define B " "
#define M 30
#define X 10
#define Y 10
char masu1[4][4]={A,A};
char masu2[4][4]={B,B};
void set1();
int main()
{
while(1){
set1();
}
return 0;
}
void set1()
{
int i,x,y,j,n=0;
int a[M],c[M];
do{
for(i=0,j=M;i<M;i++,j--){
a[i]=j;
c[i]=i;
}
printf("\n");
for(x=0;x<X;x++){
for(y=0;y<Y;y++){
//斜め左
if(x>a[n]-20&&((y==5&&x==10)||
(y==4&&x==9)||(y==3&&x==8)||
(y==2&&x==7)||(y==1&&x==6)||
(y==0&&x==5))){
printf("%s", *masu1);
}
//斜め右
else if(x>a[n]-20&&((y==5&&x==8)||
(y==6&&x==7)||(y==7&&x==6)||
(y==8&&x==5))){
printf("%s", *masu1);
}
//左縦
else if(((x>2&&x<5)&&(x>a[n]-20 && y==0))){
printf("%s",*masu1);
}
//右縦
else if(((x>2&&x<5)&&(x>a[n]-20 && y==8))){
printf("%s",*masu1);
}
//左横
else if((y>0&&y<4)&&(x==2 && y<c[n]-7)){
printf("%s", *masu1);
}
//右横
else if((y>4&&y<8)&&(x==2 && y>a[n]-15)){
printf("%s",*masu1);
}
else if(n>11 && x==3 && y==4){
printf("%s", *masu1);
}
else{
printf("%s", *masu2);
}
}
printf("\n");
}
usleep(250000);
system("clear");
n++;
}while(n<M);
}