easyX类平抛小球
1.只需要在加速下落小球的情况下增加一个水平速度分量即可
#include<graphics.h>
#include<conio.h>
#define WIDTH 800 //窗口宽度
#define HEIGHT 600 //窗口高度
int main()
{
//设置小球坐标
float ballX = 10;
float ballY = 20;
//设置水平以及竖直速度
float vx = 30;
float vy = 0.0;
//设置水平加速度垂直加速度
float g = 0.5;
float a = 0.2;
initgraph(WIDTH, HEIGHT);
while (1)
{
vx = vx - a;
vy = vy + g;
//改变ballX ballY
ballX = ballX + vx;
ballY = ballY + vy;
//设置反弹
if (ballY >= HEIGHT - 10) //下边界处理
{
vy = -0.95*vy;
}
if (ballX >= WIDTH - 20) //右边界处理
{
vx = -0.95*vx;
}
if (ballX <= 20) //左边界处理
{
vx = -0.95 * vx;
}
if (ballY > HEIGHT - 10)
{
ballY = HEIGHT - 10;
ballX = ballX-vx;
}
cleardevice();
fillcircle(ballX, ballY, 10);
Sleep(100);
}
_getch();
closegraph();
return 0;
}