我正在用 C 中的 graphics.h 制作一个程序。我正在尝试实现矩阵屏幕保护程序,但我被困在代码中。字母只下降一次。我希望它们继续下降(之前删除文本) .请指导我如何清除旧内容
void main_page(void)
{
int i,j,k,l,m,n,size;
setcolor(BLUE);
for(i=0;i<500;i+=50)
{
settextstyle(GOTHIC_FONT,1,1);
outtextxy(50,50+i,"a b c");
outtextxy(100,150+i,"H I J");
outtextxy(150,250+i,"X Y Z");
outtextxy(300,50+i,"D E F");
outtextxy(350,350+i,"D E F");
outtextxy(400,350+i,"D E F");
outtextxy(450,350+i,"D E F");
outtextxy(500,50+i,"D E F");
outtextxy(550,350+i,"D E F");
outtextxy(600,350+i,"D E F");
delay(100);
}
最佳答案
难道你不必删除或重写旧位置的字符吗?所以你可以自下而上而不是自上而下,最后打印一些空白?
添加:好吧,这是一种非常蛮力的方法,我不喜欢。将循环中的代码替换为:
settextstyle(GOTHIC_FONT,1,1);
outtextxy( 50, 50+i,"a b c");
outtextxy(100,150+i,"H I J");
outtextxy(150,250+i,"X Y Z");
outtextxy(300, 50+i,"D E F");
outtextxy(350,350+i,"D E F");
outtextxy(400,350+i,"D E F");
outtextxy(450,350+i,"D E F");
outtextxy(500, 50+i,"D E F");
outtextxy(550,350+i,"D E F");
outtextxy(600,350+i,"D E F");
delay(100);
outtextxy( 50, 50+i," ");
outtextxy(100,150+i," ");
outtextxy(150,250+i," ");
outtextxy(300, 50+i," ");
outtextxy(350,350+i," ");
outtextxy(400,350+i," ");
outtextxy(450,350+i," ");
outtextxy(500, 50+i," ");
outtextxy(550,350+i," ");
outtextxy(600,350+i," ");
关于c - C中的矩阵排序图形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4186807/