青少年编程知识记录 codecoming

【C++图形化编程】EasyX实现弹跳小球

前面的文章实现了C++控制台显示一个弹跳的小球,这篇文章使用EasyX实现一个带有界面的弹跳小球的效果。

首位,我们需要准备好EasyX。然后让EasyX画一个小的圆。然后我们使用前面学过的判断边界的函数,然后套上循环就可以简单执行了。

参考代码:

#include <graphics.h>		// 引用图形库头文件  #include<cstdio>  #include<windows.h>  int x=10,y=10;// 小球的坐标  int left,right,top,bottom; //定义左区间、右区间、上区间、下区间  int speedX=1,speedY=1; //x和y的增量  void border(int left,int right,int top, int bottom)  {  	if(x>bottom || x<top) //上下边界判断  		speedX= -1*speedX; //让增量取反  	if(y>right || y<left)  //左右边界判断  		speedY= -1*speedY;  	x=x+speedX;  	y=y+speedY;  }        int main(){  	bottom=480,right=640;  	initgraph(bottom, right);	// 创建绘图窗口,大小为 640x480 像素  	while(1){  	 border(left,right,top,bottom);  	 cleardevice();  	 fillcircle(x, y, 20);	// 画圆,圆心(200, 200),半径 100  	 //Sleep(1);  	}  	getchar();				// 按任意键继续  	closegraph();			// 关闭绘图窗口  	return 0;  }

运行效果:



已知问题:

如果你下载下代码在VC6.0里面运行就会看到一些问题,就是圆并不是正好碰到边界才反弹的,而是往里过了一段距离才反弹的,主要原因是我们在border中 判断是x和y,也就是小球的圆心坐标,但是小球本身还有半径,所以下载下代码的人可以简单改改这个小问题。

(adsbygoogle = window.adsbygoogle || []).push({});

作者:亿万年的星光 分类:趣味小程序 浏览: