用C语言实现可以沿X轴移动的圆,到边界后再原路回来
时间: 2024-06-11 13:07:54 浏览: 10
以下是使用C语言实现可以沿X轴移动的圆,并在到达边界后返回的示例代码:
```
#include <graphics.h>
#include <conio.h>
int main()
{
int gd = DETECT, gm;
initgraph(&gd, &gm, "");
int x = 100, y = 200;
int radius = 50;
int direction = 1;
int speed = 5;
while (!kbhit()) {
setcolor(WHITE);
setfillstyle(SOLID_FILL, WHITE);
circle(x, y, radius);
floodfill(x, y, WHITE);
delay(50);
setcolor(BLACK);
setfillstyle(SOLID_FILL, BLACK);
circle(x, y, radius);
floodfill(x, y, BLACK);
x += direction * speed;
if (x + radius >= getmaxx() || x - radius <= 0) {
direction *= -1;
}
}
getch();
closegraph();
return 0;
}
```
在该代码中,我们使用了图形库(graphics.h)和控制台输入输出库(conio.h)。在程序开始时,我们使用initgraph函数初始化图形窗口。接着,我们定义了圆的初始位置、半径、方向和速度。在主循环中,我们绘制白色的圆,并使用delay函数暂停一段时间,然后清除圆的位置,并将其向当前方向移动。如果圆到达了窗口的边界,则将其方向取反,使其向相反的方向移动。最后,我们使用getch函数等待用户按下任意键,然后关闭图形窗口并结束程序。
注意,在使用图形库时需要在编译选项中添加-lgraphics参数。例如,在Code::Blocks IDE中,可以在项目属性的“编译器设置”中的“其他编译选项”中添加“-lgraphics”参数。