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

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? ball.cpp

?? 《游戲編程精粹》AI程序設(shè)計(jì)源代碼
?? CPP
字號(hào):
//----------------------------------------------------------------------------------------------
// 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);
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区在线视频观看58| 亚洲成a人片在线不卡一二三区| 色就色 综合激情| 日韩vs国产vs欧美| 国产伦精品一区二区三区免费 | 欧美日韩国产综合久久| 国内精品国产成人国产三级粉色| 一区二区三区av电影| 国产日韩三级在线| 91精品国产综合久久小美女| 91免费版pro下载短视频| 国产在线播精品第三| 午夜电影网亚洲视频| 亚洲视频一区二区在线观看| 国产情人综合久久777777| 日韩欧美一级特黄在线播放| 91国内精品野花午夜精品| 成人免费视频网站在线观看| 久久99最新地址| 日韩中文字幕一区二区三区| 亚洲人成网站影音先锋播放| 欧美高清在线视频| 久久亚洲影视婷婷| 日韩视频国产视频| 在线不卡一区二区| 欧美三区免费完整视频在线观看| 99久久伊人精品| 丰满放荡岳乱妇91ww| 国产一区二区三区最好精华液| 青青草伊人久久| 日本aⅴ精品一区二区三区| 亚洲成人福利片| 一区二区三区精品在线| 亚洲黄色免费网站| 亚洲美女视频一区| 亚洲激情中文1区| 亚洲日本在线看| 亚洲色图制服诱惑| 亚洲乱码日产精品bd| 国产一区二区三区美女| 青椒成人免费视频| 人人超碰91尤物精品国产| 日韩电影在线看| 日韩成人免费在线| 久久99国产精品免费网站| 免费在线观看精品| 国产资源精品在线观看| 国产综合一区二区| 国产99久久久久| 成人激情开心网| 99re这里只有精品视频首页| 日本久久精品电影| 欧美精选一区二区| 日韩欧美成人午夜| 国产欧美一区视频| 综合在线观看色| 亚洲国产综合在线| 日本不卡视频一二三区| 国产一区二区成人久久免费影院| 国产成人鲁色资源国产91色综| 成人深夜视频在线观看| 91久久精品一区二区| 欧美一卡2卡3卡4卡| 久久亚洲私人国产精品va媚药| 国产精品三级av| 一二三四社区欧美黄| 日韩在线观看一区二区| 激情av综合网| 99久久久精品| 678五月天丁香亚洲综合网| 精品久久久久久久久久久久久久久久久 | 国产一区免费电影| 99热精品国产| 欧美区在线观看| 久久久久国产精品厨房| 亚洲日本一区二区三区| 免费观看30秒视频久久| 国产白丝网站精品污在线入口| 日本精品视频一区二区三区| 欧美成人一级视频| 亚洲欧洲精品一区二区三区| 亚欧色一区w666天堂| 国产一区二区导航在线播放| 欧美在线看片a免费观看| 精品嫩草影院久久| 亚洲精品免费视频| 久久国产人妖系列| 91偷拍与自偷拍精品| 日韩一区二区三区视频在线| 国产精品成人免费| 日韩中文字幕麻豆| 91欧美一区二区| 日韩精品一区二区三区视频在线观看| 国产精品高清亚洲| 美女任你摸久久| 在线观看亚洲成人| 久久久久久久免费视频了| 亚洲一区av在线| 丁香另类激情小说| 日韩欧美国产一区二区三区| 一区二区三区日韩精品| 国产91精品久久久久久久网曝门| 91麻豆精品国产91久久久资源速度 | 99re免费视频精品全部| 欧美成va人片在线观看| 亚洲综合一区二区| 国产91丝袜在线播放| 日韩一区二区电影在线| 亚洲免费观看视频| 成人av在线看| 久久蜜桃一区二区| 日韩电影网1区2区| 欧美性感一类影片在线播放| 亚洲国产精品高清| 国产综合久久久久影院| 日韩欧美国产综合一区| 日韩国产欧美三级| 欧美日韩日日夜夜| 亚洲综合在线第一页| 91蜜桃婷婷狠狠久久综合9色| 国产日韩精品一区二区三区| 精品一区精品二区高清| 欧美一区二区三区男人的天堂| 亚洲一区二区美女| 色狠狠综合天天综合综合| 日韩一区欧美小说| 不卡的电影网站| 国产精品萝li| av在线不卡电影| 最新久久zyz资源站| 国产福利一区二区| 国产欧美精品一区二区色综合| 国精产品一区一区三区mba桃花| 欧美成人艳星乳罩| 久久狠狠亚洲综合| 欧美成人国产一区二区| 久久99国产精品久久99果冻传媒| 欧美一区二视频| 免费人成在线不卡| 欧美成人一区二区| 国产伦精品一区二区三区在线观看| 精品91自产拍在线观看一区| 久久国产尿小便嘘嘘尿| 精品国产免费久久| 国产一区视频导航| 欧美激情在线看| 成人91在线观看| 亚洲九九爱视频| 欧美日韩一区不卡| 男人的天堂亚洲一区| 日韩精品在线一区| 国产精品资源在线看| 日本一区二区三区四区在线视频| 国产a精品视频| 亚洲欧美国产三级| 欧美日韩国产综合一区二区 | 精品人在线二区三区| 国产精品一区免费视频| 国产精品毛片无遮挡高清| 99久久久精品| 性久久久久久久久久久久| 欧美变态tickling挠脚心| 成人免费福利片| 亚洲成人精品一区| 久久中文娱乐网| 91在线看国产| 青青草伊人久久| 国产精品三级视频| 欧美日韩一区成人| 国产剧情在线观看一区二区| 中文字幕亚洲区| 91精品欧美综合在线观看最新| 国产真实乱对白精彩久久| 国产精品国产三级国产aⅴ中文| 欧美性生交片4| 国产一区二区剧情av在线| 亚洲人成网站精品片在线观看| 欧美一区二区精品久久911| 粉嫩aⅴ一区二区三区四区五区| 一区二区欧美视频| 久久久久久久久久美女| 91福利在线看| 国产成人精品综合在线观看 | 国产成人综合在线播放| 一二三四社区欧美黄| 精品捆绑美女sm三区| 色综合亚洲欧洲| 久久国产精品第一页| 亚洲日本va在线观看| 精品国产乱码久久久久久久久| 色综合一区二区| 国产精品小仙女| 午夜一区二区三区在线观看| 国产女主播视频一区二区| 欧美人xxxx| 色综合天天综合给合国产| 激情欧美一区二区三区在线观看| 一区二区三区免费在线观看| 国产日韩成人精品| 欧美一卡二卡三卡|