#include <graphics.h>
#include <conio.h>
void main()
{
initgraph(640, 480);
int x = 320;
int y = 240;
// 画初始图形
setlinecolor(YELLOW);
setfillcolor(GREEN);
fillcircle(x, 240, 20);
int xx=2;
int yy=2;
char c;
while(c != 27)
{
// 获取按键
// 先擦掉上次显示的旧图形
setlinecolor(BLACK);
setfillcolor(BLACK);
fillcircle(x, y, 20);
// 根据输入,计算新的坐标
if(kbhit()){
c=getch();
if(c=='a')
xx=-2;
if(c=='d')
xx=2;
if(c=='s')
yy=2;
if(c=='w')
yy=-2;
}
x+=xx;
y+=yy;
// 绘制新的图形
setlinecolor(YELLOW);
setfillcolor(GREEN);
fillcircle(x, y, 20);
// 延时
Sleep(10);
if(x<=20 || x>=620)
xx=-xx;
if(y<=20 || y >=460)
yy=-yy;
}
closegraph();
}
#include <conio.h>
void main()
{
initgraph(640, 480);
int x = 320;
int y = 240;
// 画初始图形
setlinecolor(YELLOW);
setfillcolor(GREEN);
fillcircle(x, 240, 20);
int xx=2;
int yy=2;
char c;
while(c != 27)
{
// 获取按键
// 先擦掉上次显示的旧图形
setlinecolor(BLACK);
setfillcolor(BLACK);
fillcircle(x, y, 20);
// 根据输入,计算新的坐标
if(kbhit()){
c=getch();
if(c=='a')
xx=-2;
if(c=='d')
xx=2;
if(c=='s')
yy=2;
if(c=='w')
yy=-2;
}
x+=xx;
y+=yy;
// 绘制新的图形
setlinecolor(YELLOW);
setfillcolor(GREEN);
fillcircle(x, y, 20);
// 延时
Sleep(10);
if(x<=20 || x>=620)
xx=-xx;
if(y<=20 || y >=460)
yy=-yy;
}
closegraph();
}
图形移动程序
本文介绍了一个使用C语言编写的简单程序,该程序通过图形库在窗口中显示一个可以使用键盘箭头键控制移动的圆形。文章详细展示了如何初始化图形环境、绘制和更新图形,并通过键盘输入实现图形的位置改变。
5077

被折叠的 条评论
为什么被折叠?



