我完全按照网上已经成功的代码去做的,为什么只显示一个小球,而并没有下落的效果呀。我代码真的是完全一样,运行后我也知道根据getch点按键来运行,可我不论按哪个键都没有反应,求解答


我完全按照网上已经成功的代码去做的,为什么只显示一个小球,而并没有下落的效果呀。我代码真的是完全一样,运行后我也知道根据getch点按键来运行,可我不论按哪个键都没有反应,求解答


1重绘屏幕,在移动小球之前,需要清除屏幕,否则之前的小球位置仍然会显示
2循环结构,你的代码只是简单地连续移动小球几次,而没有使用循环结构。为了让小球持续下落,应该使用一个循环
3延时,为了看到小球下落的动画效果,需要在每次移动小球后添加一些延时
#include <graphics.h>
#include <conio.h>
int main() {
int width = 800;
int height = 600;
int x = 400;
int y = 300; // 保持小球居中
int r = 50;
initgraph(width, height);
while (!kbhit()) { // 按任意键退出循环
cleardevice(); // 清除屏幕
fillcircle(x, y, r);
y = y + 10; // 小球下移
Sleep(50); // 延时50毫秒
}
closegraph();
return 0;
}
修改后的代码使用了while循环来持续移动小球,直到检测到键盘输入,cleardevice() 函数用于清除屏幕,这样小球的前一个位置就不会显示了。Sleep(50) 函数用于在每次移动后添加延时,以便观察到小球的移动效果