亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ball.cpp

?? AI Game Programming Wisdom一書的源碼
?? CPP
字號:
//----------------------------------------------------------------------------------------------
// Sequential Prediction Demo: The positioning pattern
// 
// Author:  Fri Mommersteeg
// Date:    10-09-2001
// File:    Ball.cpp
//----------------------------------------------------------------------------------------------

//----------------------------------------------------------------------------------------------
// Include files
//----------------------------------------------------------------------------------------------

#include "stdafx.h"
#include "ball.h"
#include <math.h>

//----------------------------------------------------------------------------------------------
// InterpolateToBouncePosition(): interpolates the ball to where it will hot the ground
//----------------------------------------------------------------------------------------------

void CTennisBall::InterpolateToBouncePosition(POINT &pt) {
	float D = vz*vz+2*pz*GROUND_ACCELERATION;
	if (D>=0) {
		float t = (vz-(float)sqrt(D)) / (-GROUND_ACCELERATION);
		t += 20; // let the ball bounce first
		pt.x = (int)(px+vx*t);
		pt.y = (int)(py+vy*t);
	}
}

//----------------------------------------------------------------------------------------------
// BounceBall(): bounces the ball with a paddle
//----------------------------------------------------------------------------------------------

void CTennisBall::BounceBall(float x, float y) {
	SetVelocity(x, y, UPWARD_BOUNCE_FORCE);
	InterpolateToBouncePosition(BouncePosition);
}

//----------------------------------------------------------------------------------------------
// Update(): Updates the ball state
//----------------------------------------------------------------------------------------------

void CTennisBall::Update() {	
	ApplyGroundForce();
	ApplyVelocity();
}

//----------------------------------------------------------------------------------------------
// GetBoundingRect(): Returns a bounding rectangle for the ball
//----------------------------------------------------------------------------------------------

void CTennisBall::GetBoundingRect(RECT * lpRect) {
	lpRect->left = (int)px-BALL_SIZE;
	lpRect->right = (int)px+BALL_SIZE;
	lpRect->top = (int)py-BALL_SIZE;
	lpRect->bottom = (int)py+BALL_SIZE;
}

//----------------------------------------------------------------------------------------------
// ApplyGroundForce(): Applies ground force to the ball
//----------------------------------------------------------------------------------------------

void CTennisBall::ApplyGroundForce() {
	if (pz > 0) {
		vz = vz + NormSpeed(GROUND_ACCELERATION);	
	}
}

//----------------------------------------------------------------------------------------------
// ApplyVelocity(): Applies the velocity vector to the ball
//----------------------------------------------------------------------------------------------

void CTennisBall::ApplyVelocity() {
	pz = pz - NormSpeed(vz);

	if (pz < 0 && owner != OWNER_SERVICE) {
		NotifyAll(HIT_GROUND_EVENT);
	}
	
	if (pz < 0) {
		vz = - (vz-GROUND_FRICTION);
		pz = (float)abs((int)vz);
		if (pz<GROUND_ACCELERATION) {
			pz = 0;
			vz = 0;
		}		
	}

	if (pz == 0) {
		NotifyAll(BALL_ROLLING_EVENT);
	}
	
	px = px + NormSpeed(vx);
	py = py + NormSpeed(vy);
}

//----------------------------------------------------------------------------------------------
// Paint(): Paint the ball
//----------------------------------------------------------------------------------------------

void CTennisBall::Paint(LPDDS lpdds) {
	HDC dc;
	lpdds->GetDC(&dc);
	int scale = BALL_SIZE + (int)(pz/2);

	HBRUSH brush = CreateSolidBrush(RGB(255,255,0));
	HBRUSH oldBrush = (HBRUSH)SelectObject(dc, brush);	
	HPEN pen = CreatePen(PS_NULL, 0, 0);
	HPEN oldPen = (HPEN)SelectObject(dc, pen);

	Ellipse(dc, (int)px-scale, (int)py-scale, (int)px+scale, (int)py+scale);

	if (oldPen != NULL) {
		SelectObject(dc, oldPen);
		DeleteObject(brush);
	}
	if (oldBrush != NULL) {
		SelectObject(dc, oldBrush);
		DeleteObject(pen);
	}
	
	lpdds->ReleaseDC(dc);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区三区日韩| 亚洲国产综合色| 亚洲国产日韩在线一区模特| 精品一区二区在线看| 一本大道久久a久久综合| 日韩精品一区二区三区蜜臀| 悠悠色在线精品| 不卡的看片网站| 日韩亚洲国产中文字幕欧美| 一区二区三区在线播| 国产电影一区二区三区| 日韩欧美国产综合| 性欧美疯狂xxxxbbbb| k8久久久一区二区三区| 国产午夜一区二区三区| 美女www一区二区| 7777精品伊人久久久大香线蕉的 | 亚洲电影在线播放| 国产成人av一区二区三区在线| 91精品国产黑色紧身裤美女| 午夜天堂影视香蕉久久| 欧美色欧美亚洲另类二区| 亚洲欧美激情插| 色拍拍在线精品视频8848| 亚洲国产成人私人影院tom| 国产乱码一区二区三区| 久久精品在这里| 成人免费视频视频在线观看免费| 国产色产综合产在线视频| 韩国av一区二区三区四区| 日韩欧美aaaaaa| 精品无码三级在线观看视频 | 免费美女久久99| 91精品国产一区二区三区| 婷婷综合另类小说色区| 欧美日韩国产综合一区二区三区| 亚洲国产精品自拍| 91麻豆精品国产91久久久久久| 日韩福利视频网| 久久综合色一综合色88| 国产乱码精品一区二区三| 日本一二三四高清不卡| av在线这里只有精品| 一区二区成人在线视频| 欧美精品在欧美一区二区少妇| 麻豆极品一区二区三区| 欧美精品一区视频| 成人黄色小视频| 亚洲一区二区三区四区中文字幕| 777午夜精品视频在线播放| 韩国av一区二区三区| 国产精品久久久久久久久免费樱桃 | 久久女同性恋中文字幕| www.日韩av| 日韩成人精品视频| 久久久亚洲高清| 一本色道亚洲精品aⅴ| 午夜久久久久久久久| 久久日一线二线三线suv| 99re热这里只有精品视频| 亚洲成人激情av| 国产欧美日韩精品在线| 欧美午夜免费电影| 久久66热re国产| 亚洲黄色免费电影| 欧美电视剧免费全集观看| 成人黄色综合网站| 日本亚洲电影天堂| 亚洲天天做日日做天天谢日日欢| 欧美精品久久99| av高清不卡在线| 精品一区二区成人精品| 亚洲欧美一区二区在线观看| 日韩欧美久久一区| 在线影视一区二区三区| 国产剧情一区二区三区| 亚洲韩国精品一区| 国产精品女主播av| 日韩欧美国产一区二区三区| 91片黄在线观看| 国产91丝袜在线播放| 亚洲18女电影在线观看| 日韩美女精品在线| 久久久久久久性| 这里只有精品免费| 日本韩国一区二区三区| 国产电影一区在线| 久久 天天综合| 日本视频中文字幕一区二区三区| 亚洲精品乱码久久久久久久久 | 亚洲一区二区在线观看视频| 国产日本一区二区| 欧美精品一区二区三区蜜臀| 欧美日韩国产综合久久| 色呦呦网站一区| 91在线云播放| 成人av网站大全| 粉嫩av一区二区三区| 精品一区二区三区在线播放| 肉丝袜脚交视频一区二区| 亚洲免费成人av| 18成人在线观看| 亚洲欧美自拍偷拍色图| 国产精品女人毛片| 国产欧美一二三区| 国产日韩欧美电影| 国产亚洲成av人在线观看导航| 日韩欧美成人一区二区| 日韩一区和二区| 欧美一区二区三区的| 在线不卡中文字幕播放| 7878成人国产在线观看| 日韩一区二区在线播放| 欧美一区二区三区免费在线看 | 欧美性猛交xxxxxx富婆| 成人av影院在线| 麻豆成人免费电影| 日韩精品福利网| 丝袜美腿亚洲一区二区图片| 午夜天堂影视香蕉久久| 丝袜美腿亚洲综合| 视频一区在线视频| 亚洲高清久久久| 日韩主播视频在线| 国产肉丝袜一区二区| 五月婷婷综合激情| 成a人片亚洲日本久久| 欧美一区二区三区视频在线| 亚洲欧美色图小说| 国产自产2019最新不卡| 欧美日韩免费视频| 国产精品免费网站在线观看| 蜜桃免费网站一区二区三区 | 99国产欧美另类久久久精品| 91精品国产品国语在线不卡| 国产精品久99| 国产精品中文欧美| 9191久久久久久久久久久| 国产精品久久久久四虎| 狠狠色丁香婷综合久久| 欧美日韩久久一区二区| 中文字幕佐山爱一区二区免费| 国产美女一区二区三区| 欧美一区二区三区白人| 亚洲大片免费看| 色一情一乱一乱一91av| 欧美极品美女视频| 国产精品一线二线三线| 欧美mv日韩mv国产网站| 日本不卡一区二区三区高清视频| 91麻豆精品一区二区三区| 国产精品嫩草99a| 国产馆精品极品| 久久久精品天堂| 国产精品白丝av| 国产亚洲精品免费| 国产一区在线观看视频| 欧美精品一区二区三区在线播放| 久久99在线观看| 26uuu欧美| 国产一区二区三区久久久| 日韩欧美国产精品一区| 日韩电影免费在线| 日韩一区二区免费电影| 日本午夜精品视频在线观看| 欧美一区二区三区电影| 麻豆成人免费电影| www国产成人免费观看视频 深夜成人网| 奇米亚洲午夜久久精品| 日韩欧美中文字幕公布| 久久国产精品99久久久久久老狼 | 色综合天天性综合| 亚洲摸摸操操av| 欧美色手机在线观看| 亚洲高清一区二区三区| 在线播放国产精品二区一二区四区| 午夜一区二区三区视频| 日韩一卡二卡三卡四卡| 极品少妇xxxx偷拍精品少妇| 国产午夜亚洲精品理论片色戒| 成人深夜在线观看| 亚洲欧美色图小说| 91麻豆精品久久久久蜜臀| 韩国女主播一区| 综合激情成人伊人| 欧美三级在线播放| 久久99久久精品| 欧美经典三级视频一区二区三区| 成人国产视频在线观看| 亚洲视频你懂的| 91精品视频网| 美女一区二区在线观看| 日本一区二区三级电影在线观看 | 精品国产乱码久久久久久久久 | 精品国产三级a在线观看| 国产黄色91视频| 一级特黄大欧美久久久| 91麻豆精品国产91久久久资源速度 | 欧美日韩亚洲综合一区| 精品一区二区日韩|