easyX类平抛小球

简介: 本文展示了如何使用easyX库创建一个类平抛运动的小球,通过增加水平速度分量并处理水平和垂直方向的加速度以及边界反弹效果。

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;
}

弹力小球

相关文章
|
5月前
|
Shell C语言
C语言实例——小球自由下落
【1月更文挑战第16天】C语言实例——小球自由下落。
84 0
|
存储 C语言
C语言Window控制台实现弹弹方块(单个方块,多个方块)
C语言Window控制台实现弹弹方块(单个方块,多个方块)
65 0
|
2月前
|
编译器 C++
easyx的有些函数报错?
easyx的有些函数报错?
26 0
|
1天前
easyX实现自由落体小球
本文介绍了使用easyX图形库实现自由落体小球的编程方法,包括匀速下落和加速下落,以及如何处理小球的反弹和边界条件。
8 0
easyX实现自由落体小球
|
1天前
|
C++
EasyX之太空人表盘(2021-6-16)
这篇文章介绍了如何使用C++和EasyX库制作一个太空人表盘程序,包括绘制圆盘、文字、动画、动态时间显示以及音乐播放等功能,并提供了详细的代码实现。
11 0
EasyX之太空人表盘(2021-6-16)
|
3月前
|
C语言
C语言实战 | 弹跳的小球
【7月更文挑战第6天】使用C语言实现了一个小球(小方块)在屏幕上斜向移动并反弹的程序。当小球碰到边界时,其运动方向会发生改变。代码分为三部分,分别处理初始化、主循环和更新位置及边界检测。变量drow和dcol控制移动方向,遇到边界时会反转它们的值。
43 3
C语言实战 | 弹跳的小球
|
5月前
|
存储 编解码 Windows
EasyX图形库学习(三、用easyX控制图形界面中的小球、图片-加载、输出)
EasyX图形库学习(三、用easyX控制图形界面中的小球、图片-加载、输出)
|
5月前
|
监控 API 计算机视觉
OpenCV这么简单为啥不学——1.6、图像旋转与翻转(rotate函数、imutils环境安装、imutils任意角度旋转)
OpenCV这么简单为啥不学——1.6、图像旋转与翻转(rotate函数、imutils环境安装、imutils任意角度旋转)
69 0
|
C语言
c语言通过easyx窗口实现小球打砖块的游戏
c语言通过easyx窗口实现小球打砖块的游戏
166 0