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

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

?? player.c

?? 機器足球2D比賽程序 對trlen_base_2002的改進
?? C
?? 第 1 頁 / 共 4 頁
字號:
		soc = turnBodyToPoint(posPenalty);	else if (soc.isIllegal())		soc = moveToPos(pos, 10);	ACT->putCommandInQueue(soc);	if (WM->getCurrentTime() - WM->getTimeLastSeen(OBJECT_BALL) > 6)		ACT->putCommandInQueue(turnNeckToPoint(posPenalty, soc));	else		ACT->putCommandInQueue(turnNeckToObject(OBJECT_BALL, soc));	pmPrev = WM->getPlayMode();}////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////                                                  Orit                                                         /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////*!根據當前的場上狀態確定比賽的陣型。 *  */void Player::formationDecision(){	formations->setFormation(FT_433_OFFENSIVE);	/*	   VecPosition posBall = WM->getBallPos ();	   if (posBall.getX()<0){	   if (WM->isBallInOurPossesion ()) 	   formations->setFormation( FT_433_OFFENSIVE );	   else	   formations->setFormation( FT_OPEN_DEFENSIVE );           	   }	   else{        	   if (WM->isBallInOurPossesion ())	   formations->setFormation( FT_334_OFFENSIVE  );	   else	   formations->setFormation(FT_DEFENSIVE );                                     	   }	   */}/*! 盯住對方的截球隊員。 *      此方法只被中場和后衛調用。 * *      if (posMark 附近有對手) *         mark對手 *      else *         goToPos (posMark); *       */SoccerCommand Player::markOpponent(VecPosition posMark){	SoccerCommand soc(CMD_ILLEGAL);	//soc = goToPos(posMark);	//return soc;	double distToClosestOpp = 100;	ObjectT oppMark = WM->getClosestInSetTo(OBJECT_SET_OPPONENTS, posMark,&distToClosestOpp);	if ((oppMark != OBJECT_ILLEGAL)	&& (distToClosestOpp < PS->getMarkDistance())) {		VecPosition posBall = WM->getBallPos();		double ballX = posBall.getX();		double ballY = posBall.getY();		MarkT mt = MARK_ILLEGAL;		if ((formations->getPlayerType() == PT_DEFENDER_SWEEPER)				|| (formations->getPlayerType() == PT_DEFENDER_WING)) {			if (fabs(posBall.getY()) > 15)				mt = MARK_BALL;			else				mt = MARK_GOAL;		} else {			if (posBall.getDistanceTo(posMark) <= 25)				mt = MARK_BALL;			else				mt = MARK_BISECTOR;		}		double distMark = PS->getMarkDistance();		//if (posMark.getX() < -36)		//	distMark = distMark / 2;		soc = mark(oppMark, distMark, mt);		soc = adjustDashPowerForStamina(soc, ACT_MARK);	} else		soc = goToPos(posMark);	return soc;}/*! 防止被對方的隊員mark。 *        空點的選擇還應該細化,守門員發球時,后衛應該在平行于禁區的一條線移動,但是中場則可以各個方向移動。 * *      if (posStart 附近有對手) *         走到一個空的地方 *      else *         goToPos (posStart); *       */SoccerCommand Player::remarkOpponent(VecPosition posStrat){	SoccerCommand soc(CMD_ILLEGAL);	soc = goToPos(posStrat);	return soc;	double distToClosestOpp = 100;	double minDistToClosestOpp = 100;	ObjectT oppMark = WM->getClosestInSetTo(OBJECT_SET_OPPONENTS, posStrat,			&distToClosestOpp);	if ((oppMark != OBJECT_ILLEGAL)			&& (distToClosestOpp < 1.5 * PS->getMarkDistance())) {		double minDistToClosetOpp = distToClosestOpp;		VecPosition posBest = posStrat;		VecPosition posTry = posStrat;		for (int i = -7; i <= 7; i++) {			posTry.setVecPosition(posStrat.getX() + (double)i,					posStrat.getY());			ObjectT oppTry =				WM->getClosestInSetTo(OBJECT_SET_OPPONENTS, posTry,						&distToClosestOpp);			if ((oppTry != OBJECT_ILLEGAL)					&& (distToClosestOpp < minDistToClosetOpp)) {				posBest = posTry;				minDistToClosestOpp = distToClosestOpp;			}		}		soc = goToPos(posBest);	} else		soc = goToPos(posStrat);	return soc;}//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////*! 視覺決策部分。 *         對于球員來說,有兩個最重要的觀察對象,一個是球,另一個是對方的球門。 *          *         下面給出play_on模式下的視覺部分: *               首先確定球和自己身體的角度angBodyToBall,再確定球門和自己身體的角度angBodyToGoal。 * */SoccerCommand Player::visualDecision(SoccerCommand soc){	SoccerCommand socNeck(CMD_ILLEGAL);	//ViewAngleT vat             = VA_NORMAL;  //本周期的視覺模式。	if (WM->getConfidence(OBJECT_BALL) < PS->getBallConfThr()) {		soc = alignNeckWithBody();		return soc;	}	VecPosition posBall = WM->getBallPos();	VecPosition posAgent = WM->getAgentGlobalPosition();	double myX = posAgent.getX();	double myY = posAgent.getY();	double distToBall = posAgent.getDistanceTo(posBall);	//AngDeg angNeck    = WM->getAgentGlobalNeckAngle();	AngDeg angBody = WM->getAgentGlobalBodyAngle();	AngDeg angEyeLeft = VecPosition::normalizeAngle(angBody - 80);	AngDeg angEyeRight = VecPosition::normalizeAngle(angBody + 80);	AngDeg angArea =		fabs(VecPosition::normalizeAngle(angEyeLeft - angEyeRight));	VecPosition posGoal(52.5, 0);	AngDeg angGoal = (posGoal - posAgent).getDirection();	AngDeg angBall = (posBall - posAgent).getDirection();	AngDeg angBallToGoal = VecPosition::normalizeAngle(angGoal - angBall);	//ViewAngleT    vat       = VA_NORMAL;  //本周期的視覺模式。    	static int numNormal = 0;	//使用普通視角的次數。	static int numNarrow = 0;	//連續使用窄視角的次數。	if (distToBall > 35) {		if (WM->getViewAngle() != VA_WIDE)			ACT->putCommandInQueue(setViewAngle(VA_WIDE));		socNeck = turnNeckToPoint(posBall, soc);	} else if ((fabs(angBallToGoal) > 80) || (distToBall > 15)) {		//普通視角,看一下球門,看兩次球。		if (WM->getViewAngle() != VA_NORMAL) {			numNormal = 0;			ACT->putCommandInQueue(setViewAngle(VA_NORMAL));		}		if (numNormal < 2) {			socNeck = turnNeckToDirection(angBall, soc);			numNormal++;		} else {			socNeck = turnNeckToDirection(angGoal, soc);			numNormal = 0;		}	} else {		//兩次窄視角,一次普通視角;其中用窄視角看一下球,用窄視角看一下球門,在用寬視角看一下自己可以觀察到的不		//包含球和球門的最大范圍。		AngDeg angBallToLeft =			fabs(VecPosition::normalizeAngle(angBall - angEyeLeft));		AngDeg angBallToRight =			fabs(VecPosition::normalizeAngle(angBall - angEyeRight));		AngDeg angGoalToLeft =			fabs(VecPosition::normalizeAngle(angGoal - angEyeLeft));		AngDeg angGoalToRight =			fabs(VecPosition::normalizeAngle(angGoal - angEyeRight));		AngDeg ang3 = angBody;	//指向普通視角的方向。		if (!isAngInInterval(angBall, angEyeLeft, angEyeRight)) {			if (!isAngInInterval(angGoal, angEyeLeft, angEyeRight)) {				ang3 = angBody;			} else {				if (angGoalToLeft > angGoalToRight)					ang3 = getBisectorTwoAngles(angGoal, angEyeLeft);				else					ang3 = getBisectorTwoAngles(angGoal, angEyeRight);			}		} else {			if (!isAngInInterval(angGoal, angEyeLeft, angEyeRight)) {				if (angBallToLeft > angBallToRight)					ang3 = getBisectorTwoAngles(angBall, angEyeLeft);				else					ang3 = getBisectorTwoAngles(angBall, angEyeRight);			} else {		//兩者都在觀察范圍。				if ((min(angGoalToLeft, angBallToLeft) >							min(angGoalToRight, angBallToRight))) {					if (angGoalToLeft > angBallToLeft)						ang3 = getBisectorTwoAngles(angEyeLeft, angBall);					else						ang3 = getBisectorTwoAngles(angEyeLeft, angGoal);				} else {					if (angGoalToRight > angBallToRight)						ang3 = getBisectorTwoAngles(angEyeRight, angBall);					else						ang3 = getBisectorTwoAngles(angEyeRight, angGoal);				}			}		}		if (WM->getViewAngle() != VA_NARROW) {			numNarrow = 0;			ACT->putCommandInQueue(setViewAngle(VA_NARROW));		}		if ((WM->getViewAngle() == VA_NARROW) && (numNarrow == 2))			ACT->putCommandInQueue(setViewAngle(VA_NORMAL));		if (numNarrow == 0) {			socNeck = turnNeckToDirection(angBall, soc);			numNarrow = 1;		} else if (numNarrow == 1) {			socNeck = turnNeckToDirection(angGoal, soc);			numNarrow = 2;		} else {			socNeck = turnNeckToDirection(ang3, soc);			numNarrow = 0;		}	}	return socNeck;}/*!守門員的決策部分。 *  當然仍然使用UvA自帶的守門員策略。 *  缺點是不是沿線防守。 */void Player::goalieStrategy(){	int i;	SoccerCommand soc;	VecPosition posAgent = WM->getAgentGlobalPosition();	AngDeg angBody = WM->getAgentGlobalBodyAngle();	// define the top and bottom position of a rectangle in which keeper moves	static const VecPosition posLeftTop(-PITCH_LENGTH / 2.0 +			0.7 * PENALTY_AREA_LENGTH,			-PENALTY_AREA_WIDTH / 4.0);	static const VecPosition posRightTop(-PITCH_LENGTH / 2.0 +			0.7 * PENALTY_AREA_LENGTH,			+PENALTY_AREA_WIDTH / 4.0);	if (WM->isBeforeKickOff()) {		if (formations->getFormation() != FT_INITIAL ||	// not in kick_off formation				posAgent.getDistanceTo(WM->getStrategicPosition()) > 2.0) {			formations->setFormation(FT_INITIAL);	// go to kick_off formation			ACT->				putCommandInQueue(teleportToPos						(WM->getStrategicPosition()));		} else			// else turn to center		{			ACT->putCommandInQueue(turnBodyToPoint(VecPosition(0, 0), 0));			ACT->putCommandInQueue(alignNeckWithBody());		}		return;	}	if (WM->getConfidence(OBJECT_BALL) < PS->getBallConfThr()) {	// confidence ball too  low		ACT->putCommandInQueue(searchBall());	// search ball		ACT->putCommandInQueue(alignNeckWithBody());	} else if (WM->getPlayMode() == PM_PLAY_ON || WM->isFreeKickThem() || WM->isCornerKickThem() || WM->isBackPassUs()) {	//add by orit		if (WM->isBallCatchable()) {			ACT->putCommandInQueue(soc = catchBall());			ACT->putCommandInQueue(turnNeckToObject(OBJECT_BALL, soc));		} else if (WM->isBallKickable()) {			soc = kickTo(VecPosition(0, posAgent.getY() * 2.0), 2.0);			ACT->putCommandInQueue(soc);			ACT->putCommandInQueue(turnNeckToObject(OBJECT_BALL, soc));		} else if (WM->				isInOwnPenaltyArea(getInterceptionPointBall(&i, true))				&& WM->getFastestInSetTo(OBJECT_SET_PLAYERS,					OBJECT_BALL,					&i) ==				WM->getAgentObjectType()) {			ACT->putCommandInQueue(soc = intercept(true));			ACT->putCommandInQueue(turnNeckToObject(OBJECT_BALL, soc));		} else {			//由矩形防守改為直線防守。			soc = defendGoalLine(3);			ACT->putCommandInQueue(soc);			ACT->putCommandInQueue(turnNeckToObject(OBJECT_BALL, soc));		}	} else if (WM->isFreeKickUs() == true || WM->isGoalKickUs() == true) {		if (WM->isBallKickable()) {			if (WM->getTimeSinceLastCatch() == 25 && WM->isFreeKickUs()) {				// move to position with lesser opponents.				if (WM->						getNrInSetInCircle(OBJECT_SET_OPPONENTS,							Circle(posRightTop,								15.0)) <						WM->getNrInSetInCircle(OBJECT_SET_OPPONENTS,							Circle(posLeftTop, 15.0)))					soc.makeCommand(CMD_MOVE, posRightTop.getX(),							posRightTop.getY(), 0.0);  //orit				else					soc.makeCommand(CMD_MOVE, posLeftTop.getX(),							posLeftTop.getY(), 0.0);				ACT->putCommandInQueue(soc);			} else if (WM->getTimeSinceLastCatch() > 28) {				ObjectT tmtPass = OBJECT_ILLEGAL;				AngDeg angPass = 0;				double speedPass = 2.0;				if (WM->canSmartPassBallToTmt(tmtPass, angPass, speedPass))					soc = smartPassBallToTmt(tmtPass, angPass, speedPass);				else					soc =						kickTo(VecPosition(0, posAgent.getY() * 2.0), 2.0);				ACT->putCommandInQueue(soc);			} else if (WM->getTimeSinceLastCatch() < 25) {				VecPosition posSide(0.0, posAgent.getY());				if (fabs((posSide - posAgent).getDirection() - angBody) >						10) {					soc = turnBodyToPoint(posSide);					ACT->putCommandInQueue(soc);				}				ACT->putCommandInQueue(turnNeckToObject(OBJECT_BALL, soc));			}		} else if (WM->isGoalKickUs()) {			ACT->putCommandInQueue(soc = intercept(true));			ACT->putCommandInQueue(turnNeckToObject(OBJECT_BALL, soc));		} else			ACT->putCommandInQueue(turnNeckToObject(OBJECT_BALL, soc));	} else {		ACT->putCommandInQueue(soc = turnBodyToObject(OBJECT_BALL));		ACT->putCommandInQueue(turnNeckToObject(OBJECT_BALL, soc));	}}/*! 后衛的決策。 * */SoccerCommand Player::defenderStrategy(){	SoccerCommand soc(CMD_ILLEGAL);	// for goal	VecPosition posGoal(52.5, 0);	//for me	VecPosition posAgent = WM->getAgentGlobalPosition();	VecPosition posStrat = WM->getMyStrategicPosition();	double myX = posAgent.getX();	double myY = posAgent.getY();	int area = WM->getPosArea(posAgent);	//自己所在的區域。	SideT sideType = WM->getSide();	AngDeg angBody = WM->getAgentGlobalBodyAngle();	AngDeg angBody2Goal =		VecPosition::normalizeAngle((posGoal - posAgent).getDirection() -				angBody);	int numOpp4 = WM->getNrInSetInCircle(OBJECT_SET_OPPONENTS,			Circle(posAgent, 4.0));	// for ball	VecPosition posBall = WM->getBallPos();	double spBall = WM->getBallSpeed();	// for shoot	VecPosition posShoot(PITCH_LENGTH / 2.0,			(-1 +			 2 * (WM->getCurrentCycle() % 2)) * 0.4 *			SS->getGoalWidth());	// for pass	ObjectT tmtPass = OBJECT_ILLEGAL;	VecPosition posPass;	AngDeg angPass = 0;	double speedPass = 2.0;	// for through pass	ObjectT tmtThroughPass = OBJECT_ILLEGAL;	VecPosition posThroughPass(52.5, 0);	AngDeg angThroughPass = 0;	double speedThroughPass = 2.0;	//for dribble	AngDeg angDribble = 0;	// for intercept	int iTmp;	formationDecision();	//確定比賽陣型。	if (WM->getConfidence(OBJECT_BALL) < PS->getBallConfThr()) {		soc = searchBall();	// if ball pos unknown	} else if (WM->isBallKickable()) {	// if kickable		//------------------------------------------------------//		double shootP = WM->getAgentShootProbability(posShoot);		if (shootP > 0.9) {			soc = shoot(posShoot);			Log.logWithTime(777, " shoot with the p (%f)", shootP);			//cout << endl << "shoot   !  " << shootP * 100;			return soc;		} else if (WM->canSmartPassBallToTmt(tmtPass, angPass, speedPass)) {			soc = smartPassBallToTmt(tmtPass, angPass, speedPass);			Log.logWithTime(777, " pass to tmt(%d)",					SoccerTypes::getIndex(tmtPass) + 1);		} else if (fabs(angBody2Goal) > 90 && numOpp4 == 0) {			if (spBall < 1.7) {				soc =					turnWithBallTo(0, PS->getTurnWithBallAngThr(),							PS->getTurnWithBallFreezeThr());				Log.logWithTime(777, " turn with ball");			} else {				soc = freezeBall();				Log.logWithTime(777, " freeze ball");			}		} else if (WM->canDribble(angDribble, DRIBBLE_FAST)) {			soc = dribble(angDribble, DRIBBLE_FAST);			Log.logWithTime(777, " dribble fast ");		} else if (WM->canDribble(angDribble, DRIBBLE_SLOW)) {			soc = dribble(angDribble, DRIBBLE_SLOW);			Log.logWithTime(777, " dribble slow ");		} else if (area == 1) {			soc = clearBall(CLEAR_BALL_DEFENSIVE, sideType);			Log.logWithTime(777, " clear defensive ");		} else if (area == 2) {			soc = clearBall(CLEAR_BALL_OFFENSIVE_SIDE, sideType);			Log.logWithTime(777, " clear offensive ");		} else if (area == 3) {			soc = clearBall(CLEAR_BALL_OFFENSIVE, sideType);			Log.logWithTime(777, " clear offensive side ");

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产99精品在线观看| 日韩—二三区免费观看av| 在线观看中文字幕不卡| 精品一区二区久久久| 亚洲欧洲日韩av| 精品国内二区三区| 91精品国产综合久久久久久久 | 韩国中文字幕2020精品| 亚洲国产视频一区| 综合分类小说区另类春色亚洲小说欧美| 欧美日韩视频第一区| 久久精品国产一区二区三 | 99久久99久久精品国产片果冻| 日韩中文字幕区一区有砖一区| 亚洲人123区| 国产精品久99| 中文字幕亚洲一区二区va在线| wwwwww.欧美系列| 精品国产伦一区二区三区观看体验| 欧美精品色综合| 日韩限制级电影在线观看| 91黄色免费观看| 欧美色图片你懂的| 欧美在线一二三四区| 欧美日韩一区高清| 欧美日韩精品一区二区在线播放| 欧美日韩在线电影| 日韩一区和二区| 精品卡一卡二卡三卡四在线| 欧美v日韩v国产v| 国产婷婷色一区二区三区四区| 国产情人综合久久777777| 亚洲国产精品国自产拍av| 国产精品免费aⅴ片在线观看| 日本一二三不卡| 一区二区三区久久久| 轻轻草成人在线| 粉嫩绯色av一区二区在线观看 | 成人精品鲁一区一区二区| av一区二区三区在线| 欧美体内she精视频| 日韩欧美一区二区视频| 亚洲国产岛国毛片在线| 一区二区三区在线观看网站| 日韩av中文字幕一区二区 | 国产成人av电影在线观看| 成人国产视频在线观看| 在线综合亚洲欧美在线视频| 国产日韩在线不卡| 日本欧美在线观看| www.久久久久久久久| 欧美电影免费观看高清完整版 | 91麻豆精品久久久久蜜臀| 久久精品视频免费观看| 天堂成人国产精品一区| 成人在线综合网| 久久影院视频免费| 视频一区二区三区在线| 99r精品视频| 精品国产凹凸成av人网站| 亚洲午夜国产一区99re久久| 成人av综合在线| 中文字幕欧美区| 精品亚洲欧美一区| 日韩欧美一级精品久久| 洋洋av久久久久久久一区| 不卡的av在线| 欧美国产国产综合| 国产成人午夜片在线观看高清观看| 欧美一级日韩一级| 蜜臀久久99精品久久久久宅男 | 精一区二区三区| 欧美一区二区精品在线| 日本不卡在线视频| 日韩视频一区二区| 国产又黄又大久久| 久久亚洲精华国产精华液| 极品少妇xxxx精品少妇| 久久精品夜色噜噜亚洲aⅴ| 高清久久久久久| 亚洲久本草在线中文字幕| 91成人国产精品| 九色综合国产一区二区三区| 欧美一级片免费看| 裸体一区二区三区| 26uuu亚洲婷婷狠狠天堂| 成人午夜精品在线| 中文字幕一区二区三区四区| 91成人在线精品| 久久精品99久久久| 国产精品视频你懂的| 91丨porny丨在线| 日本欧美韩国一区三区| 国产亚洲精品7777| 欧美日韩免费观看一区二区三区 | 亚洲欧洲精品天堂一级| 国产99久久久精品| 日本午夜精品一区二区三区电影| 亚洲欧洲综合另类| 亚洲天堂精品视频| 精品人伦一区二区色婷婷| 亚洲国产精品v| 国产无遮挡一区二区三区毛片日本| 91精品国产品国语在线不卡| 欧美日韩成人综合在线一区二区| 欧美日韩免费高清一区色橹橹| 欧美日韩国产综合草草| 欧美久久久久久久久| 欧美精品亚洲一区二区在线播放| 欧美日韩久久不卡| 日韩视频永久免费| 国产日韩三级在线| 亚洲欧洲国产日韩| 国产精品久久久一本精品| 日本一区二区三区四区| 国产精品久久三| 亚洲欧美日韩国产另类专区| 国产精品国产三级国产aⅴ无密码| 国产精品欧美一级免费| 中文一区二区完整视频在线观看| 欧美精品一区二区三区一线天视频| 91在线观看污| 一本大道av伊人久久综合| 国产风韵犹存在线视精品| 精品亚洲aⅴ乱码一区二区三区| 亚洲成人手机在线| 石原莉奈在线亚洲二区| 日本中文字幕一区二区有限公司| 免费高清在线视频一区·| 久热成人在线视频| 粉嫩av亚洲一区二区图片| 91丨porny丨户外露出| 欧美人xxxx| 国产精品久久久久久久久久久免费看| 久久九九久精品国产免费直播| 国产精品免费av| 日韩成人一级大片| 成人福利视频在线| 日韩一区二区电影网| 中文字幕一区在线观看视频| 免费观看在线综合| 99麻豆久久久国产精品免费优播| 欧美日韩中文一区| 久久精品视频免费观看| 亚洲综合色成人| 粉嫩av一区二区三区粉嫩| 欧美午夜寂寞影院| 国产欧美精品一区aⅴ影院 | 中文无字幕一区二区三区| 亚洲高清免费一级二级三级| 成人18精品视频| 日本一区二区免费在线观看视频| 免费成人在线观看| 91视视频在线直接观看在线看网页在线看| 日韩一二三四区| 天堂蜜桃91精品| 欧美性淫爽ww久久久久无| 欧美极品xxx| 国产米奇在线777精品观看| 欧美麻豆精品久久久久久| 亚洲人成伊人成综合网小说| 成人综合婷婷国产精品久久蜜臀 | 日韩精品一二三四| 欧美中文字幕久久| 亚洲v中文字幕| 欧美日韩在线一区二区| 日本在线播放一区二区三区| 欧美午夜精品免费| 亚洲国产sm捆绑调教视频| 91精品国产综合久久久蜜臀图片| 蜜桃视频免费观看一区| 日韩免费视频一区| 国产麻豆视频一区| 中文字幕制服丝袜一区二区三区| 91在线精品一区二区| 亚洲一区自拍偷拍| 精品国产乱码久久久久久闺蜜 | 日韩精品亚洲一区| 欧美成人在线直播| 国产久卡久卡久卡久卡视频精品| www国产亚洲精品久久麻豆| 国产精品一二三| 成人免费一区二区三区视频 | 亚洲人xxxx| 日韩美一区二区三区| gogo大胆日本视频一区| 免费成人结看片| 亚洲日本在线看| 欧美国产精品v| 久久久久久久久一| 精品久久久久久久久久久久久久久久久| 色欧美乱欧美15图片| www.久久精品| av一区二区不卡| 国产精品1区二区.| 国产精品123| 国产麻豆精品95视频| 国产一区欧美一区| 国产一区二区三区精品欧美日韩一区二区三区| 国产婷婷一区二区|