📄 bzjok.cpp
字号:
#include "stdio.h"
#include <dos.h>
//#include "graphics.h"
#include "CONIO.H"
#define X 20
#define Y 40
display(int dis[X][Y])
{
int i,j;
delay(50);
clrscr();
// outtextxy(0,0,"\r" );
// cleardevice();
// printf("");
for(i=0;i<X;i++)
{
for(j=0;j<Y;j++)
{
if(dis[i][j]==1)
printf("*");
else
printf(" ");
}
printf("\n");
}
}
uptodown(int b[X][Y])
{
int i,j;
i=X;
j=Y;
for(i=0;i<X;i++)
{
display(b);
for(j=0;j<Y;j++)
{
b[i][j]=0;
}
}
}
downtoup(int b[X][Y])
{
int i,j;
i=X;
j=Y;
for(i=0;i<X;i++)
{
display(b);
for(j=0;j<Y;j++)
{
b[X-i-1][j]=0;
}
}
}
lefttoright(int b[X][Y])
{
int i,j;
i=X;
j=Y;
for(i=0;i<Y;i++)
{
display(b);
for(j=0;j<X;j++)
{
b[j][i]=0;
}
}
}
righttoleft(int b[X][Y])
{
int i,j;
i=X;
j=Y;
for(i=0;i<Y;i++)
{
display(b);
for(j=0;j<X;j++)
{
b[j][Y-i-1]=0;
}
}
}
ruptodown(int b[X][Y])
{
int i,j,k;
i=X;
j=Y;
for(i=0;i<X;i++)
{
display(b);
for(j=0;j<Y;j++)
{
for(k=X-1;k>=0;k--)
{
if(k<=i) b[k][j]=0;
else b[k][j]=b[k-1][j];
}
}
}
}
rdowntoup(int b[X][Y])
{
int i,j,k;
i=X;
j=Y;
for(i=X-1;i>=0;i--)
{
display(b);
for(j=0;j<Y;j++)
{
for(k=0;k<X;k++)
{
if(k>=i) b[k][j]=0;
else b[k][j]=b[k+1][j];
}
}
}
}
rlefttoright(int b[X][Y])
{
int i,j,k;
i=X;
j=Y;
for(j=0;j<Y;j++)
{
display(b);
for(i=0;i<X;i++)
{
for(k=Y-1;k>=0;k--)
{
if(k<=j) b[i][k]=0;
else b[i][k]=b[i][k-1];
}
}
}
}
rrighttoleft(int b[X][Y])
{
int i,j,k;
i=X;
j=Y;
for(j=Y-1;j>=0;j--)
{
display(b);
for(i=0;i<X;i++)
{
for(k=0;k<Y;k++)
{
if(k<=j) b[i][k]=b[i][k+1];
else b[i][k]=0;
}
}
}
}
brushoutside(int b[X][Y])
{
int i,j,k;
int refsign=0;
i=X;
j=Y;
for(k=2;k<=X/2+Y/2;k++)
{
display(b);
for(i=1;i<=X/2;i++)
{
for(j=1;j<=Y/2;j++)
{
if(k==i+j)
{
b[i-1][j-1]=0;
b[i-1][Y-j]=0;
b[X-i][j-1]=0;
b[X-i][Y-j]=0;
}
}
}
}
if(X%2!=0)
{
for(j=0;j<Y;j++)
{b[X/2+1][j]=0;refsign=1;}
}
if(Y%2!=0)
{
for(i=0;i<X;i++)
{b[i][X/2+1]=0;refsign=1;}
}
if(refsign) display(b);
}
brushinside(int b[X][Y])
{
int i,j,k;
int refsign=0;
i=X;
j=Y;
if(X%2!=0)
{
for(j=0;j<Y;j++)
{b[X/2+1][j]=0;refsign=1;}
}
if(Y%2!=0)
{
for(i=0;i<X;i++)
{b[i][X/2+1]=0;refsign=1;}
}
if(refsign) display(b);
for(k=X/2+Y/2;k>0;k--)
{
display(b);
for(i=1;i<=X/2;i++)
{
for(j=1;j<=Y/2;j++)
{
if(k==i+j)
{
b[i-1][j-1]=0;
b[i-1][Y-j]=0;
b[X-i][j-1]=0;
b[X-i][Y-j]=0; //because both Y and j have already plus 1
}
}
}
}
}
void main()
{
int a[X][Y]={1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,1,
1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,1};
int times;
int cov[X][Y];
int i,j;
i=10;
j=10;
printf("\n");
printf("========================\n");
printf("1.brush from up to down\n");
printf("2.brush from down to up\n");
printf("3.brush from left to right\n");
printf("4.brush form right to left\n");
printf("5.rock from up to down\n");
printf("6.rock from down to up\n");
printf("7.rock from left to right\n");
printf("8.rock form right to left\n");
printf("9.start brush from inside\n");
printf("0.start brush from outside\n");
printf("=========================\n");
printf("Please choose:\n\n\n\n\n\n\n\n");
scanf("%d",&j);
for(times=0;times<10;times++)
{
for(i=0;i<=X-1;i++)
{
for(j=0;j<=Y-1;j++)
{
cov[i][j]=a[i][j];
}
printf("\n");
} //peidui from inside.
switch(times)
{
case 1:
uptodown(cov);//pass by address.
break;
case 2:
downtoup(cov);
break;
case 3:
lefttoright(cov);
break;
case 4:
righttoleft(cov);
break;
case 5:
ruptodown(cov);
break;
case 6:
rdowntoup(cov);
break;
case 7:
rlefttoright(cov);
break;
case 8:
rrighttoleft(cov);
break;
case 9:
brushinside(cov);
break;
case 0:
brushoutside(cov);
break;
}
}
printf("%d,%d",i,j);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -