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

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

?? object.cpp

?? 2006年世界杯足球賽2D仿真組第16名的源代碼。在此代碼上隨便改改
?? CPP
字號(hào):
/* *  Copyright 2002-2005, Mersad Team, Allameh Helli High School (NODET). * *  This program is free software, you can redistribute it and/or modify *  it under the terms of the GNU General Public License as published by *  the Free Software Foundation. * *  This program is distributed in the hope that it will be useful, *  but WITHOUT ANY WARRANTY; without even the implied warranty of *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *  GNU Library General Public License for more details. * *  This file is created by: Ahmad Boorghany * *  Released on Monday 1 August 2005, 10 Mordad 1384 by Mersad RoboCup Team. *  For more information please read README file.*/#include <cmath>#include <cassert>#include <Config.h>#include <Degree.h>#include <Logger.h>#include <Object.h>#include <Defines.h>#include <SExpression.h>using namespace std;using namespace Degree;// class ObjectObject::Object(){	seeTime = 0;	velSeeTime = 0;	posDeviation = MAX_POS_DEV;	validPosDeviation = MAX_POS_DEV;	velDeviation = MAX_VEL_DEV;	readyToUpdateFlag = false;}Object::~Object(){}void Object::parse(const SExpression &exp, unsigned curTime){	SExpAtomic *at;	seeDistChange = NOVALUE;	seeDirChange = -NOVALUE;	seeDirection = -NOVALUE;	at = dynamic_cast<SExpAtomic *>(exp[1]);	assert(at);	seeDistance = at->asFloat();	unsigned decreaseNum = 0;	at = dynamic_cast<SExpAtomic *>(exp[exp.size() - 1]);	if (at->toString() == "t")		decreaseNum = 1;//LOG << "exp: " << exp.toString() << "<>" << exp.size() << endl;	if (exp.size() - decreaseNum > 2)	{		at = dynamic_cast<SExpAtomic *>(exp[2]);		assert(at);		seeDirection = at->asFloat();	}	if (exp.size() - decreaseNum > 4)	{		at = dynamic_cast<SExpAtomic *>(exp[3]);		assert(at);		seeDistChange = at->asFloat();		at = dynamic_cast<SExpAtomic *>(exp[4]);		assert(at);		seeDirChange = at->asFloat();		velSeeTime = curTime;	}	seeDirection *= -1;	seeDirChange *= -1;	seeTime = curTime;	readyToUpdateFlag = true;}void Object::setServerParamVars(const Param &serverParam){	maxMoment = serverParam["maxmoment"].asFloat();	minMoment = serverParam["minmoment"].asFloat();	maxPower = serverParam["maxpower"].asFloat();	minPower = serverParam["minpower"].asFloat();	quantizeStep = serverParam["quantize_step"].asFloat();	quantizeStepL = serverParam["quantize_step_l"].asFloat();}float Object::getDistance(const Object &obj) const{	return hypot(getPos().getX() - obj.getPos().getX(),				 getPos().getY() - obj.getPos().getY());}float Object::getDistance(const Point &point) const{	return hypot(getPos().getX() - point.x,				 getPos().getY() - point.y);}void Object::kill(){	posDeviation = MAX_POS_DEV;	validPosDeviation = MAX_POS_DEV;	velDeviation = MAX_VEL_DEV;}bool Object::isValid() const{	if (validPosDeviation < MAX_POS_DEV)		return true;	return false;}// Getting functionsbool Object::isReadyToUpdate() const{	return readyToUpdateFlag;}float Object::getPosDeviation() const{	return posDeviation;}float Object::getValidPosDeviation() const{	return validPosDeviation;}float Object::getVelDeviation() const{	return velDeviation;}float Object::getSeeDistance() const{	return seeDistance;}float Object::getSeeDirection() const{	return seeDirection;}float Object::getSeeDistChange() const{	return seeDistChange;}float Object::getSeeDirChange() const{	return seeDirChange;}unsigned Object::getSeeTime() const{	return seeTime;}unsigned Object::getVelSeeTime() const{	return velSeeTime;}float Object::getAccelMax() const{	return accelMax;}float Object::getDecay() const{	return decay;}float Object::getRand() const{	return rand;}float Object::getSize() const{	return size;}float Object::getSpeedMax() const{	return speedMax;}float Object::getMaxMoment() const{	return maxMoment;}float Object::getMinMoment() const{	return minMoment;}float Object::getMaxPower() const{	return maxPower;}float Object::getMinPower() const{	return minPower;}float Object::getQuantizeStep() const{	return quantizeStep;}float Object::getQuantizeStepL() const{	return quantizeStepL;}const Vector &Object::getPos() const{	return (const Vector &)position;}const Vector &Object::getVel() const{	return (const Vector &)velocity;}const Vector &Object::getAbsVec() const{	return (const Vector &)absVector;}const Vector &Object::getBodyVec() const{	return (const Vector &)bodyVector;}const Vector &Object::getHeadVec() const{	return (const Vector &)headVector;}// Setting functionsvoid Object::setReadyToUpdate(bool readyToUpdateFlagArg){	readyToUpdateFlag = readyToUpdateFlagArg;}void Object::setPosDeviation(float posDeviationArg){	posDeviation = posDeviationArg;}void Object::setValidPosDeviation(float validPosDeviationArg){	validPosDeviation = validPosDeviationArg;}void Object::setVelDeviation(float velDeviationArg){	velDeviation = velDeviationArg;}void Object::setSeeDistance(float seeDistanceArg){	seeDistance = seeDistanceArg;}void Object::setSeeDirection(float seeDirectionArg){	seeDirection = seeDirectionArg;}void Object::setSeeDistChange(float seeDistChangeArg){	seeDistChange = seeDistChangeArg;}void Object::setSeeDirChange(float seeDirChangeArg){	seeDirChange = seeDirChangeArg;}void Object::setSeeTime(unsigned seeTimeArg){	seeTime = seeTimeArg;}void Object::setVelSeeTime(unsigned velSeeTimeArg){	velSeeTime = velSeeTimeArg;}void Object::setDecay(float decayArg){	decay = decayArg;}Vector &Object::setPos(){	return (Vector &)position;}Vector &Object::setVel(){	return (Vector &)velocity;}Vector &Object::setAbsVec(){	return (Vector &)absVector;}Vector &Object::setBodyVec(){	return (Vector &)bodyVector;}Vector &Object::setHeadVec(){	return (Vector &)headVector;}// class Flagvoid FieldFlag::parse(int idArg, const SExpression &exp, unsigned curTime){	Object::parse(exp, curTime);	id = idArg;}void FieldFlag::update(const FieldData &fieldData){	Point point;	point = fieldData.getFlagPos(id);	position.setAsCartesian(point.x,point.y);	headVector.setAsPolar(seeDistance,seeDirection);	posDeviation = seeDistance / 20;	validPosDeviation = posDeviation;}int FieldFlag::getId() const{	return id;}// class Linevoid FieldLine::parse(int idArg, const SExpression &exp, unsigned curTime){	Object::parse(exp, curTime);	id = idArg;}void FieldLine::update(const FieldData &fieldData){	Point point;	point = fieldData.getLinePos(id);	position.setAsCartesian(point.x,point.y);	headVector.setAsPolar(seeDistance,seeDirection);	posDeviation = seeDistance / 20;	validPosDeviation = posDeviation;	prependOrient = fieldData.getPrependOrient(id);}int FieldLine::getId() const{	return id;}float FieldLine::getPrependOrient() const{	return prependOrient;}// class Goalvoid FieldGoal::parse(int idArg, const SExpression &exp, unsigned curTime){	Object::parse(exp, curTime);	id = idArg;}void FieldGoal::parseFullState(int idArg, const SExpression &exp,	   unsigned curTime){	SExpAtomic *at;	float x, y;	seeDistChange = NOVALUE;	seeDirChange = -NOVALUE;	seeDirection = -NOVALUE;	at = dynamic_cast<SExpAtomic *>(exp[1]);	assert(at);	x = at->asFloat();	at = dynamic_cast<SExpAtomic *>(exp[2]);	assert(at);	y = at->asFloat() * (-1);	position.setAsCartesian(x, y);		seeTime = curTime;	id = idArg;}void FieldGoal::update(const FieldData &fieldData){	Point point;	point = fieldData.getGoalPos(id);	position.setAsCartesian(point.x,point.y);	headVector.setAsPolar(seeDistance,seeDirection);	posDeviation = seeDistance / 20;	validPosDeviation = posDeviation;}int FieldGoal::getId() const{	return id;}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产精品精华液2区45| 国产日韩欧美精品在线| 国产成人精品在线看| 又紧又大又爽精品一区二区| 日韩精品影音先锋| 色综合 综合色| 国产精品影视在线观看| 日韩电影在线免费| 亚洲三级在线观看| 国产人久久人人人人爽| 日韩一区二区在线观看视频| 一本色道a无线码一区v| 国产超碰在线一区| 久久se这里有精品| 日韩在线一区二区| 亚洲一区二区三区美女| 欧美激情在线观看视频免费| 精品国产第一区二区三区观看体验 | 色婷婷综合久久久久中文| 国产一区二区三区在线观看精品| 婷婷国产v国产偷v亚洲高清| 亚洲精品免费一二三区| 国产午夜一区二区三区| www欧美成人18+| 精品粉嫩aⅴ一区二区三区四区| 欧美精品乱码久久久久久按摩 | 欧美午夜电影一区| 91麻豆国产在线观看| jizzjizzjizz欧美| 高清在线不卡av| 高清不卡一区二区| 国产成人亚洲综合a∨婷婷| 国产一区二区三区在线观看免费视频 | 欧美日韩国产经典色站一区二区三区 | 国产精品一级黄| 激情六月婷婷综合| 久久成人综合网| 久久99精品久久只有精品| 日本欧洲一区二区| 日本va欧美va精品| 老司机免费视频一区二区三区| 视频一区中文字幕国产| 肉丝袜脚交视频一区二区| 日韩成人av影视| 麻豆精品视频在线观看免费| 久久成人久久爱| 国产精品影视网| 成人a免费在线看| 97久久超碰国产精品| 色婷婷综合久久久久中文 | 国产精品欧美综合在线| 亚洲欧美在线aaa| 亚洲精品第一国产综合野| 尤物av一区二区| 99久久久无码国产精品| 成人看片黄a免费看在线| 99在线精品免费| 欧美伊人久久久久久午夜久久久久| 欧美天堂一区二区三区| 91精品麻豆日日躁夜夜躁| 日韩欧美另类在线| 国产性色一区二区| 亚洲精品国产第一综合99久久 | 亚洲欧美日韩精品久久久久| 亚洲国产精品久久一线不卡| 美腿丝袜亚洲色图| 国产精品一区二区免费不卡| 91蜜桃传媒精品久久久一区二区| 欧美日韩精品专区| 久久综合九色综合欧美98| 中文字幕日韩精品一区| 亚洲va韩国va欧美va精品| 韩国三级在线一区| 91天堂素人约啪| 欧美成人aa大片| 中文字幕一区二区三区蜜月| 午夜久久电影网| 风间由美一区二区三区在线观看 | 精品盗摄一区二区三区| 亚洲欧洲另类国产综合| 男男gaygay亚洲| 波多野洁衣一区| 91精品啪在线观看国产60岁| 国产精品女人毛片| 午夜日韩在线电影| 成人动漫一区二区在线| 制服丝袜亚洲网站| 国产精品久久久久精k8| 久久精品99国产精品日本| 不卡的av在线播放| 日韩欧美国产一区二区在线播放| 国产精品久久久久天堂| 免费精品视频最新在线| 色婷婷综合久色| 久久精品亚洲精品国产欧美kt∨| 亚洲成av人片一区二区三区 | 色婷婷亚洲精品| 久久久不卡网国产精品一区| 亚洲午夜免费视频| 成人av在线资源| 久久综合五月天婷婷伊人| 亚洲午夜在线视频| av不卡免费电影| 天天操天天色综合| 99视频超级精品| 国产三级精品三级| 精品一区二区久久| 777亚洲妇女| 亚洲国产乱码最新视频| 99在线热播精品免费| 337p粉嫩大胆色噜噜噜噜亚洲| 香蕉影视欧美成人| 欧美亚洲国产一区在线观看网站| 亚洲国产高清aⅴ视频| 久久精品噜噜噜成人av农村| 欧美日韩一区不卡| 亚洲欧美日韩国产成人精品影院| 国产电影一区二区三区| 日韩女优毛片在线| 免费看欧美美女黄的网站| 欧美高清精品3d| 亚洲第一av色| 欧美日韩一级大片网址| 亚洲成在线观看| 欧美性xxxxxxxx| 亚洲综合色婷婷| 91在线视频网址| 中文字幕一区二区三区乱码在线| 粉嫩av一区二区三区粉嫩| 久久精品视频在线看| 国产一区二三区| 国产亚洲欧美一区在线观看| 欧美图片一区二区三区| 亚洲电影一区二区| 欧美日韩精品是欧美日韩精品| 亚洲va欧美va天堂v国产综合| 欧美性猛交xxxx乱大交退制版 | 91精品国产欧美一区二区18| 亚洲aaa精品| 欧美顶级少妇做爰| 蜜桃一区二区三区在线观看| 欧美成人性战久久| 国产在线日韩欧美| 国产蜜臀av在线一区二区三区| 岛国精品一区二区| 成人欧美一区二区三区小说| 一本在线高清不卡dvd| 亚洲国产另类av| 91精品在线观看入口| 激情综合色综合久久| 国产亚洲一本大道中文在线| 国产69精品久久99不卡| 中文字幕欧美一| 欧美在线不卡视频| 偷窥国产亚洲免费视频| 日韩欧美一区电影| 国产精品一区二区三区乱码| 国产精品久久久久久久蜜臀| 色综合天天综合网天天看片| 成人午夜在线播放| 国产精品成人免费| 精品视频一区三区九区| 久久精品国产一区二区| 国产亚洲短视频| 在线观看一区二区精品视频| 免费观看在线色综合| 亚洲国产高清不卡| 欧美丝袜丝nylons| 精品亚洲成a人在线观看| 国产精品你懂的在线| 欧美视频中文一区二区三区在线观看| 日韩福利视频网| 久久久激情视频| 在线免费不卡视频| 精品夜夜嗨av一区二区三区| 自拍av一区二区三区| 日韩一区二区免费电影| 成人精品在线视频观看| 亚洲大片一区二区三区| 国产性天天综合网| 欧美日韩一区在线观看| 国产福利一区在线观看| 午夜伦欧美伦电影理论片| 欧美韩日一区二区三区四区| 欧美日韩国产高清一区| 国产宾馆实践打屁股91| 三级精品在线观看| 国产精品久久久久久久久免费丝袜 | 一本久久a久久精品亚洲| 裸体一区二区三区| 一区二区三区免费| 精品99一区二区三区| 91福利在线观看| 国产一区二区三区久久悠悠色av| 亚洲欧美激情视频在线观看一区二区三区 | 日本成人在线一区| 亚洲图片激情小说| 26uuu精品一区二区| 欧美性猛片aaaaaaa做受| 成人免费av在线|