Tôi đang làm bài toán tạo hình vuông chuyển động lên xuống nhưng không hiểu sao khi sử dụng hàm system("cls") để xóa màn hình khi hình chuyển động thì không được còn dùng clsr() thì màn hình bị trắng. Ai xem giúp tôi xem lỗi chỗ nào!? code của tôi đây:
Code:
#include<stdio.h>
#include<conio.h>
#include<graphics.h>
#include<alloc.h>
#include<stdlib.h>
#include<dos.h>
int main()
{
int driver = DETECT, mode ;
int n,y,i,j;

initgraph(&driver,&mode, "c:\\tc\\bgi");
setviewport(100,10,440,450,0); /*định lại tọa độ gốc*/
rectangle(-2,-2,240,402);
setcolor(WHITE);
setfillstyle(SOLID_FILL,BLUE);
setlinestyle(SOLID_LINE,1,3);

struct o_vuong
{
int i;
int mau;
} a[12][20];

a[0][0].i = 1;a[0][1].i = 0;a[0][2].i = 0; a[0][3].i = 0;
n = 0;

/*vẽ hình vuông chuyển động*/
for(i=0;i<20;i++)
{
for(n=0;n<20;n++)
{
if(a[0][n].i == 1)
{
gotoxy(0,n*20);
y = i*20;
rectangle(0,y,20,y+20);
bar(0,y,20,y+20);
}
}
delay(200);
a[0][i+3].i = a[0][i+2].i;
a[0][i+2].i = a[0][i+1].i;
a[0][i+1].i = a[0][i].i;
a[0][i].i = a[0][i-1].i;
a[0][i-1].i = 0;
system("cls"); /*hoặc thay bằng clrscr()*/
}

getch();
return 0;
}