c语言eaxyx屏保程序,【Easyx】模拟简易屏保程序(半径变化的圆)

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

#include

#include

#include //EasyX已包含,不包含也行

using namespace std; int j(int r); //绝对值函数 int main(void)

{

int x,y,r,xm,ym,rm,rmin,xc,yc,rc,count,ms;

//以下想x至ms为赋值区域,所有与长度有关的常量单位都是取决于分辨率

//rmin,xc,yc,rc等常量可取负值外,其余量取非负整数,否则或多或少会影响程序运行

count=3; //0<=count<=3,设定初始方向(与xc、yc正负相关)与判定撞击边缘位置以及弹回方向的常量

x=500; //初始横坐标 rm<=x<=xm-r

y=300; //初始纵坐标 rm<=y<=ym-r

rm=100; //最大半径

rmin=60; //最小半径

xm=1366; //x最大值

ym=768; //y最大值

xc=8; //x变化率,为零时纵向

yc=2; //y变化率,为零时横向

rc=1; //半径r变化率

r=rm; //初始半径为最大半径

ms=30; //单位(毫秒),用来控制变化快慢

initgraph(xm,ym);

setcolor(GREEN);

for(int i=0;;i++)

{

if(count==0)

{

for(;y+j(r)<=ym&&x+j(r)<=xm&&x>=r&&y>=r;x+=xc,y+=yc,r-=rc) //向右下

{

cleardevice();

circle(x,y,r);

Sleep(ms);

if(r

r+=rc;

rc=-rc;

}

if(r>rm){

r+=rc;

rc=-rc;

}

}

if(ym-y>xm-x){count=3;x=xm-r;} //撞右壁,向左下

if(ym-y

if(ym-y==xm-x){count=2;x=xm-r;y=ym-r;} //撞右下角,向左上

} if(count==1)

{

for(;y+j(r)<=ym&&x+j(r)<=xm&&x>=r&&y>=r;x+=xc,y-=yc,r-=rc) //向右上

{

cleardevice();

circle(x,y,r);

Sleep(ms);

if(r

r+=rc;

rc=-rc;

}

if(r>rm){

r+=rc;

rc=-rc;

}

}

if(y>xm-x){count=2;x=xm-r;} //撞右壁,向左上

if(y

if(y==xm-x){count=3;y=r;x=xm-r;} //撞右上角,向左下

} if(count==2)

{

for(;y+j(r)<=ym&&x+j(r)<=xm&&x>=r&&y>=r;x-=xc,y-=yc,r-=rc) //向左上

{

cleardevice();

circle(x,y,r);

Sleep(ms);

if(r

r+=rc;

rc=-rc;

}

if(r>rm){

r+=rc;

rc=-rc;

}

}

if(y>x){count=1;x=r;} //撞左壁,向右上

if(y

if(y==x){count=0;x=r;y=r;} //撞左上角,向右下

} if(count==3)

{

for(;y+j(r)<=ym&&x+j(r)<=xm&&x>=r&&y>=r;x-=xc,y+=yc,r-=rc) //向左下

{

cleardevice();

circle(x,y,r);

Sleep(ms);

if(r

r+=rc;

rc=-rc;

}

if(r>rm){

r+=rc;

rc=-rc;

}

}

if(x>ym-y){count=2;y=ym-r;} //撞下壁,向左上

if(x

if(x==ym-y){count=1;x=r;y=ym-r;} //撞左下角,向右上

}

}

// getch(); //防止程序运行后因编程工具立即终止习惯加的语句

return 0;

} int j(int r) //绝对值函数,保证r>0

{

if(r>0)return r;

else return -r;

}

C语言是一种广泛使用的高级编程语言,它以其高效率和灵活性而闻名。在进行C语言程序设计时,有时会需要使用图形库来创建图形用户界面或处理图形和图像数据。EasyX 是一个在 Windows 平台上为 C/C++ 程序提供图形界面支持的库,它基于 Windows GDI+ 和 DirectX 技术,可以让用户较容易地实现图形绘制和图像处理等功能。 要用 EasyX 和 C 语言编写一个 500 行左右的程序,你可以选择实现一个具有一定功能的小型游戏、图形绘制应用或者其他图形界面相关的项目。这里是一个简单的例子,说明如何使用 EasyX 图形库来绘制一个简单的窗口和在窗口中显示一些基本图形: ```c #include <graphics.h> // 引入 EasyX 头文件 #include <conio.h> // 引入控制台输入输出头文件 int main() { // 初始化图形窗口,设置窗口大小为 640x480 像素 initgraph(640, 480); // 设置画笔颜色为红色,并绘制一个形 setlinecolor(RED); circle(320, 240, 100); // 设置填充颜色为蓝色,并填充一个矩形 setfillcolor(BLUE); solidrectangle(100, 100, 200, 200); // 设置文字输出颜色和字体大小,并在窗口中输出一些文字 settextcolor(WHITE); settextstyle(16, 0, "Courier New"); outtextxy(50, 50, "Hello, EasyX!"); // 按任意键退出程序 getch(); // 关闭图形窗口 closegraph(); return 0; } ``` 上面的代码展示了如何使用 EasyX 库创建一个窗口,并在窗口中绘制图形和输出文字。实际编写一个500行的程序需要更多的功能和更复杂的逻辑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值