今天所讲的逐渐变大(小)的小球实际上就是基于上次的缓慢下落的小球的基础上的(下落的小球详见:C++图形开发(4):下落的小球)
1.逐渐变大的小球
因为是逐渐变大的小球,所以就不能像上次下落的小球一样完完全全就是用while语句构造一个死循环,因为当小球大到一定程度时就会溢出屏幕(就会在屏幕上形成一个方块),因此,我们这次要用到break语句,用于打破循环(详见C++爱好者的自我修养(3):while循环语句以及while循环语句中break语句与continue语句的使用)
我们首先来画出坐标图:
最小的圆:
最大的圆:
while语句的实现:
int r = 10;
while(1){
r ++;
cleardevice();
fillcircle(300,300,r);
Sleep(10);
if (r >= 300){
break;
}
}
整段代码:
#include<graphics.h>
#include<conio.h>
#include<stdio.h>
int main(){
int a = 50;
initgraph(600, 600);
int r = 10;
while (1) {
r ++;
cleardevice();
fillcircle(300, 300, r);
Sleep(10);
if (r >= 300) {
break;
}
}
_getch();
closegraph();
}
效果:
2.逐渐变小的小球
要实现逐渐变小的小球,主要原理和上面相同,我们只要将半径的增加更改为减少即可:
#include<graphics.h>
#include<conio.h>
#include<stdio.h>
int main(){
int a = 50;
initgraph(600, 600);
int r = 300;
while (1) {
r --;
cleardevice();
fillcircle(300, 300, r);
Sleep(10);
if (r <= 10) {
break;
}
}
_getch();
closegraph();
}
效果: