欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

EasyX實(shí)現(xiàn)自由落體小球

 更新時(shí)間:2022年03月31日 15:08:22   作者:石小浪?  
這篇文章主要為大家詳細(xì)介紹了EasyX實(shí)現(xiàn)自由落體小球,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了EasyX實(shí)現(xiàn)自由落體小球的具體代碼,供大家參考,具體內(nèi)容如下

1. 要實(shí)現(xiàn)自由落體,首先得實(shí)現(xiàn)勻速下落

#include<graphics.h> ? ?//圖形庫頭文件
#include<conio.h>
#include<cstdio>
#define WIDTH 400 ? //窗口寬度
#define HEIGHT 600 ? //窗口高度

int main()
{
?? ?//定義并初始化小球坐標(biāo)
?? ?float ballX = WIDTH / 2;
?? ?float ballY = 10;
?? ?//創(chuàng)建窗口
?? ?initgraph(WIDTH, HEIGHT);
?? ?while (1)
?? ?{
?? ??? ?ballY++; ? ? ? ?//改變小球的y坐標(biāo)
?? ??? ?cleardevice(); ?//清屏
?? ??? ?fillcircle(ballX, ballY, 10); ?//繪制小球
?? ??? ?Sleep(10); ? ? ? ? ? ?//暫停10毫秒
?? ?}

?? ?_getch(); ? ? ? ? //等待按鍵輸入(卡屏作用)
?? ?closegraph(); ? ? ?//關(guān)閉窗口

?? ?return 0;
}

2.然后在勻速的基礎(chǔ)上實(shí)現(xiàn)加速運(yùn)動(dòng)
(只需要實(shí)現(xiàn)y方向的增量不斷改變即可)

#include<graphics.h>
#include<conio.h>
#include<cstdio>
#define WIDTH 400 ? //窗口寬度
#define HEIGHT 600 ? //窗口高度

int main()
{
?? ?//定義并初始化小球坐標(biāo)
?? ?float ballX = WIDTH / 2;
?? ?float ballY = 10;
?? ?//定義小球初始下落速度
?? ?float vy = 0.0;
?? ?//定義小球下落加速度
?? ?float g = 0.5; ? ? ? //y方向的增量
?? ?//創(chuàng)建窗口
?? ?initgraph(WIDTH, HEIGHT);
?? ?while (1)
?? ?{
?? ??? ?//實(shí)現(xiàn)加速下落
?? ??? ?//改變下落速度
?? ??? ?vy = vy + g;
?? ??? ?//改變Y方向坐標(biāo)
?? ??? ?ballY = ballY + vy;
?? ??? ?//做反彈處理
?? ??? ?if (ballY >= 590)
?? ??? ??? ?vy = -0.95*vy; ? //改變vy的方向,加一點(diǎn)阻力
?? ??? ?//做下邊界處理
?? ??? ?if (ballY > 590)
?? ??? ??? ?ballY = 590;
?? ??? ?cleardevice(); ?//清屏
?? ??? ?fillcircle(ballX, ballY, 10); ?//繪制小球
?? ??? ?Sleep(100); ? ? ? ? ? ?//暫停100毫秒
?? ?}

?? ?_getch();
?? ?closegraph();

?? ?return 0;
}

要點(diǎn)一: 通過增量改變每一次 y 方向上值改變的不同
要點(diǎn)二: 下邊界處理, 當(dāng) y >窗口高度 - 小球半徑 時(shí)需要將 y 坐標(biāo)置為 窗口高度 - 小球半徑
要點(diǎn)三: vy的反向

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • C語言求兩個(gè)字符串的最長公共子串

    C語言求兩個(gè)字符串的最長公共子串

    這篇文章主要介紹了C語言求兩個(gè)字符串的最長公共子串,實(shí)例分析了C語言操作字符串的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-02-02
  • c/c++語言位域注意事項(xiàng)分析

    c/c++語言位域注意事項(xiàng)分析

    所謂“位域”是把一個(gè)字節(jié)中的二進(jìn)位劃分為幾個(gè)不同的區(qū)域, 并說明每個(gè)區(qū)域的位數(shù)。每個(gè)域有一個(gè)域名,答應(yīng)在程序中按域名進(jìn)行操作
    2013-09-09
  • 從匯編看c++的默認(rèn)析構(gòu)函數(shù)的使用詳解

    從匯編看c++的默認(rèn)析構(gòu)函數(shù)的使用詳解

    本篇文章是對(duì)c++中默認(rèn)析構(gòu)函數(shù)的使用進(jìn)行了詳細(xì)的分析介紹。需要的朋友參考下
    2013-05-05
  • C語言實(shí)現(xiàn)動(dòng)態(tài)順序表詳解

    C語言實(shí)現(xiàn)動(dòng)態(tài)順序表詳解

    這篇文章主要介紹了C語言實(shí)現(xiàn)動(dòng)態(tài)順序表的實(shí)現(xiàn)代碼的相關(guān)資料,動(dòng)態(tài)順序表在內(nèi)存中開辟一塊空間,可以隨我們數(shù)據(jù)數(shù)量的增多來擴(kuò)容,需要的朋友可以參考下
    2021-08-08
  • C++中rapidjson將map轉(zhuǎn)為json的方法

    C++中rapidjson將map轉(zhuǎn)為json的方法

    今天小編就為大家分享一篇關(guān)于C++中rapidjson將map轉(zhuǎn)為json的方法,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-04-04
  • 二叉樹入門和刷題詳解

    二叉樹入門和刷題詳解

    這篇文章主要介紹了二叉樹入門和刷題詳解的相關(guān)資料,需要的朋友可以參考下
    2023-07-07
  • MFC控件大小隨窗體大小而改變

    MFC控件大小隨窗體大小而改變

    本文給大家分享的是使用VC++根據(jù)對(duì)話框大小調(diào)整控件大小的方法和示例代碼,有需要的小伙伴可以參考下。
    2015-06-06
  • C++中的對(duì)象指針總結(jié)

    C++中的對(duì)象指針總結(jié)

    以下是對(duì)C++中的對(duì)象指針進(jìn)行了詳細(xì)的總結(jié)介紹,需要的朋友可以過來參考下,希望對(duì)大家有所幫助
    2013-10-10
  • C++類繼承之子類調(diào)用父類的構(gòu)造函數(shù)的實(shí)例詳解

    C++類繼承之子類調(diào)用父類的構(gòu)造函數(shù)的實(shí)例詳解

    這篇文章主要介紹了C++類繼承之子類調(diào)用父類的構(gòu)造函數(shù)的實(shí)例詳解的相關(guān)資料,希望通過本文大家能夠掌握C++類繼承的相關(guān)知識(shí),需要的朋友可以參考下
    2017-09-09
  • C++ 中l(wèi)ambda表達(dá)式的編譯器實(shí)現(xiàn)原理

    C++ 中l(wèi)ambda表達(dá)式的編譯器實(shí)現(xiàn)原理

    C++ 11加入了一個(gè)非常重要的特性——Lambda表達(dá)式。這篇文章主要介紹了C++ 中l(wèi)ambda表達(dá)式的編譯器實(shí)現(xiàn)原理,需要的朋友可以參考下
    2017-02-02

最新評(píng)論