91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 4KB
    文件類型: .cpp
    金幣: 1
    下載: 0 次
    發布日期: 2024-01-22
  • 語言: C/C++
  • 標簽: C++??graphics??

資源簡介

graphics.h的頭文件,C++編寫的模擬流體運動

資源截圖

代碼片段和文件信息

///////////////////////////////////////////////////
//?程序名稱:流體(Liquid)
//?編譯環境:Visual?C++?6.0?/?2010,EasyX?20120404(beta)
//?原?作?品:http://spielzeugz.de/html5/liquid-particles.html?(HTML5)
//?移植作者:krissi?
//?最后修改:2012-4-5
//
#include?
#include?
#include?


#define?WIDTH 1024 //?屏幕寬
#define?HEIGHT 576 //?屏幕高
#define?NUM_MOVERS 600 //?小球數量
#define FRICTION 0.96f //?摩擦力


//?定義小球結構
struct?Mover
{
COLORREF color; //?顏色
float x? y; //?坐標
float vX vY; //?速度
};


//?定義全局變量
Mover movers[NUM_MOVERS]; //?小球數組
int mouseX mouseY; //?當前鼠標坐標
int mouseVX mouseVY; //?鼠標速度
int prevMouseX prevMouseY; //?上次鼠標坐標
bool isMouseDown; //?鼠標左鍵是否按下
DWORD* pBuffer; //?顯存指針


//?初始化
void?init()
{
//?初始化小球數組
for?(int?i?=?0;?i? {
movers[i].color?=?RGB(rand()?%?256?rand()?%?256?rand()?%?256);
//坐標
movers[i].x???=?WIDTH?*?0.5;
movers[i].y???=?HEIGHT?*?0.5;
//速度
movers[i].vX??=?float(cos(float(i)))?*?(rand()?%?34);
movers[i].vY??=?float(sin(float(i)))?*?(rand()?%?34);
}

//?初始化鼠標變量,位于屏幕中央
mouseX?=?prevMouseX?=?WIDTH?/?2;
mouseY?=?prevMouseY?=?HEIGHT?/?2;

//?設置隨機種子
srand((unsigned?int)time(NULL));

//?獲取顯存指針
pBuffer?=?GetImageBuffer(NULL);
}


//?全屏變暗?50%
void?darken()
{
for(int?i?=?WIDTH?*?HEIGHT?-?1;?i?>=?0;?i--)
if?(pBuffer[i]?!=?0)
pBuffer[i]?=?RGB(GetRValue(pBuffer[i])?>>?1?GetGValue(pBuffer[i])?>>?1?GetBValue(pBuffer[i])?>>?1);
}


//?絕對延時
void?delay(DWORD?ms)
{
static?DWORD?oldtime?=?GetTickCount();

while(GetTickCount()?-?oldtime? Sleep(1);

oldtime?=?GetTickCount();
}


//?繪制動畫(一幀)
void?run()
{
darken(); //?全屏變暗

mouseVX????=?mouseX?-?prevMouseX;
mouseVY????=?mouseY?-?prevMouseY;
prevMouseX?=?mouseX;
prevMouseY?=?mouseY;

float?toDist???=?WIDTH?*?0.86f;
float?stirDist?=?WIDTH?*?0.125f;
float?blowDist?=?WIDTH?*?0.5f;

for(int?i?=?0;?i? {
float?x??=?movers[i].x;
float?y??=?movers[i].y;
float?vX?=?movers[

評論

共有 條評論