求助:想用小方块代替像素点显示图片,我的代码怎么了
#include<graphics.h>#include<conio.h>
#include<time.h>
#include<stdio.h>
#define fwidth 10 //小框的宽度
////////////////////////////////////////////////////////////////----------------
bool D=false;
int xy[60][60];
int m=-1;
int i,j,k,n;
const unsigned char a[50] = { /* 0X50,0X10,0X00,0X32,0X00,0X32,0X01,0X1B, */
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF};///图片每像素的颜色
////////////////////////////////////////////////////////////////----------------
void Sbox(int x,int y); //1/4的小方块
void Drop(); //下落
void CK(); //标记方块沉底的位置
////////////////////////////////////////////////////////////////----------------
void main()
{
initgraph(550,550);
srand((unsigned)time(NULL));
for(i=0,j=50;i<50;i++)
{
xy[i][j]=1;
Sbox(i,j);
}
for(i=0;i<50;i++)
{
for(j=0;j<50;j++)
{
xy[i][j]=0;
setfillcolor(GREEN);
Sbox(i,j);
}
}
for(k=0;k<50;k++)
{
for(i=0;i<50;i++)
{
m=m+1;
Drop();
}
}
closegraph();
}
///////////////////////////////////////////////////////////////////////////
void Sbox(int x,int y) //画小方块单元
{
bar(x*fwidth+1,y*fwidth+1,(x+1)*fwidth-1,(y+1)*fwidth-1);
}
////////////////////////////////////////////////
void Drop() //下落
{
for(j=0;j<50;j++)
{
CK();
if(D)
{
setfillcolor(a[m]);
Sbox(i,j);
Sleep(1);
setfillcolor(0);
Sbox(i,j);
//Sleep(5);
}
else
{
xy[i][j]=1;
setfillcolor(a[m]);
Sbox(i,j);
}
}
}
/////////////////////////////////////
void CK() //判断是否可以下落
{
if(xy[i][j+1]==0)
D=true;
else
D=false;
}
////////////////////////////////////////////////////////////