⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bzjok.cpp

📁 本程序是模拟的大习幕点阵的三种刷新效果。程序简单
💻 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 + -