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

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

?? deathcontend.c

?? 最新主流石器時代源代碼,包含諸多目前流行功能代碼.
?? C
?? 第 1 頁 / 共 4 頁
字號:
						printf("%s will be send...",CHAR_getChar(i,CHAR_NAME));
						if((CHAR_getInt(i,CHAR_PKLISTTEAMNUM) == aB1->teamnum || CHAR_getInt(i,CHAR_PKLISTTEAMNUM) == aB2->teamnum) &&
							CHAR_getInt(i,CHAR_FLOOR) != 8250){
							printf("send!!\n");
							CHAR_warpToSpecificPoint(i,8250,15,15);
						}
						else printf("has not send!!(teamnum:%d,floor:%d)\n",CHAR_getInt(i,CHAR_PKLISTTEAMNUM),CHAR_getInt(i,CHAR_FLOOR));
					}
					//if( count >= 2) return count;
					return count;
				}
			}
		}
	}
	return count;
}

void ABATTLE_CheckBattlefromFl(int charindex, int ti,int battleindex)
{
	int i = ti, count = 0,floor=0;
	//ABFloor[MAXBAHEAD];
	//andy_log
	print("ABATTLE_CheckBattlefromFl(%d,%d )..\n",ti,battleindex);
	//for( i=0; i<MAXBAHEAD; i++){
	{
		if( ABFloor[i] == -1 ){
			CHAR_talkToCli( charindex, -1, "組別不存在", CHAR_COLORYELLOW);
			return;
		}
		floor = ABATTLE_CheckBattlefromFl_sub(charindex, i, ABFloor[i],battleindex);
		//if( count < 4 )
		//	count += ABATTLE_FindBattlefromFl( i, ABFloor[i]);
		count = ABATTLE_FindBattlefromFl( i, ABFloor[i]);
		ABFloor[i] = floor;

		if( ABFloor[i] == -1 ){
			FILE *fp=NULL;
			if( headABattle[i]->use == 1 && headABattle[i]->teamnum != -1 ){
				char token[256];
				sprintf( token, "恭喜 %s 隊,取得分組優勝,晉級下一階段。", headABattle[i]->teamname );
				PKLIST_shoutToAll( token, -1, 8250);
				ABATTLE_RecordBattle( i, headABattle[i]->teamname, "晉級8強", "NULL", "");

			}
			if( (fp=fopen( "nbattle.txt", "a+")) != NULL ){
				fprintf( fp, "%d %d|%s|\n",
					i, headABattle[i]->teamnum, headABattle[i]->teamname);
				fclose( fp);
			}
		}
	}

}

int ABATTLE_CheckBattlefromFl_sub(int charindex, int ti, int fl, int battleindex)
{
	int i = battleindex;
	char token[256];
	ArrangeBattleC *aBo=NULL;
	ArrangeBattleC *aB1=NULL;
	ArrangeBattleC *aB2=NULL;
	
	//andy_log
	print("CheckBattlefromFl_sub( %d, %d, %d)\n", ti, fl, battleindex);

	for( i=0; i<MAXNOWBATTLE; i++){
		if( (aBo=NowABattle[ti][fl][i]) == NULL ) continue;
		aB1=aBo->next[0];
		aB2=aBo->next[1];
		if( (aB1 == NULL || aB1->use == 0 ) &&
			(aB2 == NULL || aB2->use == 0 ) ){//兩隊都不成立
			if( aB1 != NULL ) free( aB1);
			if( aB2 != NULL ) free( aB2);
			aBo->next[0] = NULL;
			aBo->next[1] = NULL;
			continue;
		}else if( aB1 == NULL || aB1->use == 0 || aB1->teamnum == -1 ){ //0不成立
			ABATTLE_EliminateBattlefromFl( aB1);
			aBo->next[0] = NULL;
			if( aB2 != NULL && aB2->use != 0 && aB2->type == 0 ){
				ABATTLE_EnterBattle( aB2);
			}
			return fl;
		}else if( aB2 == NULL || aB2->use == 0 || aB2->teamnum == -1 ){ //1不成立
			ABATTLE_EliminateBattlefromFl( aB2);
			aBo->next[1] = NULL;
			if( aB1 != NULL && aB1->use != 0 && aB1->type == 0 ){
				ABATTLE_EnterBattle( aB1);
			}
			return fl;
		}else{
			//andy_log
			print("兩者成立!.%d.%x[%d,%s] %x[%d,%s]\n", i,
				aB1, aB1->teamnum, aB1->teamname,
				aB2, aB2->teamnum, aB2->teamname );
			return fl;
		}
	}

	return (fl-1);
}

//確認賽程戰斗狀態 包含時間
BOOL ABATTLE_CheckInABattle( int ti)
{
	ArrangeBattleC *aB=NULL;
	ArrangeBattleC *aB1=NULL;
	ArrangeBattleC *aB2=NULL;
	int i;
	int playernum = CHAR_getPlayerMaxNum();
	char token[256];

	if( ti<0 || ti>MAXBATTLEPAGE ) return FALSE;
	if( (aB=InBattle[ti]) == NULL ) return FALSE;

	aB1=aB->next[0];
	aB2=aB->next[1];

	switch( aB->type){
	case 0:
		break;
	case 1:	//已排入賽程 5分鐘後進場
		if( aB->time < (int)time(NULL) ){
			if( aB1 == NULL || aB1->use == 0 || 
				aB2 == NULL || aB2->use == 0 ) return FALSE;
			sprintf( token, "%s隊 VS %s隊,賽程即將開始,請兩隊做好準備。",
				aB1->teamname, aB2->teamname );
			//PKLIST_shoutToAll( token, aB1->teamnum, 8250);
			PKLIST_shoutToAll( token, aB2->teamnum, 8250);
#ifdef _DEATH_CONTENDTEST
			aB->time=(int)time(NULL)+30;
#else
			aB->time=(int)time(NULL)+(2*60);
#endif
			aB->type=2;
			// 把排入賽程的人員傳入地圖 8250
			for(i=0;i<playernum;i++){
				if(CHAR_getCharUse(i) == FALSE) continue;
				printf("%s will be send...",CHAR_getChar(i,CHAR_NAME));
				if((CHAR_getInt(i,CHAR_PKLISTTEAMNUM) == aB1->teamnum || CHAR_getInt(i,CHAR_PKLISTTEAMNUM) == aB2->teamnum) &&
					CHAR_getInt(i,CHAR_FLOOR) != 8250){
					printf("send!!\n");
					CHAR_warpToSpecificPoint(i,8250,15,15);
				}
				else printf("has not send!!(teamnum:%d,floor:%d)\n",CHAR_getInt(i,CHAR_PKLISTTEAMNUM),CHAR_getInt(i,CHAR_FLOOR));
			}
		}
		break;
	case 2:	//已排入賽程 進場3分鐘 并判斷隊長是否存在 并廣播
		{
			int playernum = CHAR_getPlayerMaxNum();
			for( i=0 ; i<playernum ; i++) {
				if( CHAR_getCharUse(i) == FALSE ) continue;
				if( aB1!=NULL && !CHAR_CHECKINDEX( aB1->toindex) &&
					aB1->teamnum == CHAR_getInt( i, CHAR_PKLISTTEAMNUM) && 
					CHAR_getInt( i, CHAR_PKLISTLEADER) == 1 &&
					PKLIST_CheckPKSameTeam( i) == TRUE ){

						int stime = ((aB->time)-(int)time(NULL));
						sprintf( token, "請快找齊你的所有隊員,并組好隊,%d秒後將進行傳送。", (stime<0)?0:stime);
						CHAR_talkToCli( i, -1, token, CHAR_COLORYELLOW);
						aB1->toindex = i;
						continue;

				}
				if( aB2!=NULL && !CHAR_CHECKINDEX( aB2->toindex) &&
					aB2->teamnum == CHAR_getInt( i, CHAR_PKLISTTEAMNUM) &&
					CHAR_getInt( i, CHAR_PKLISTLEADER) == 1 &&
					PKLIST_CheckPKSameTeam( i) == TRUE ){
						int stime = ((aB->time)-(int)time(NULL));
						sprintf( token, "請快找齊你的所有隊員,并組好隊,%d秒後將進行傳送。", (stime<0)?0:stime);
						CHAR_talkToCli( i, -1, token, CHAR_COLORYELLOW);
						aB2->toindex = i;
						continue;
				}
			}
		}
		// 把排入賽程的人員傳入地圖 8250
		for(i=0;i<playernum;i++){
			if(CHAR_getCharUse(i) == FALSE) continue;
			if((CHAR_getInt(i,CHAR_PKLISTTEAMNUM) == aB1->teamnum || CHAR_getInt(i,CHAR_PKLISTTEAMNUM) == aB2->teamnum) &&
				CHAR_getInt(i,CHAR_FLOOR) != 8250) CHAR_warpToSpecificPoint(i,8250,15,15);
		}

		if( aB->time < (int)time(NULL) ){
			char token[256];

			sprintf( token, "%s隊 VS %s隊,賽程開始。", aB1->teamname, aB2->teamname );
			PKLIST_shoutToAll( token, -1, 8250);

			if( CHAR_CHECKINDEX( aB1->toindex) && CHAR_CHECKINDEX( aB2->toindex) ){
				PKLIST_warpOne( aB2->toindex, PK_BATTLEMAP[ti].floor, PK_BATTLEMAP[ti].x+1, PK_BATTLEMAP[ti].y);
				PKLIST_warpOne( aB1->toindex, PK_BATTLEMAP[ti].floor, PK_BATTLEMAP[ti].x, PK_BATTLEMAP[ti].y);
#ifdef _DEATH_CONTENDTEST
				aB->time=(int)time(NULL)+5;
#else
				aB->time=(int)time(NULL)+(20);
#endif
				aB->type=3;
				return TRUE;
			}else if( !CHAR_CHECKINDEX( aB1->toindex) && !CHAR_CHECKINDEX( aB2->toindex) ){
				sprintf( token, "%s隊(%d),%s隊(%d),因隊長未在時間內到場,視為棄權。",aB1->teamname,aB1->toindex,
					aB2->teamname,aB2->toindex);
				ABATTLE_RecordBattle( ti, aB1->teamname, "未", aB2->teamname, "未");
				aB1->use = 0;
				aB2->use = 0;
			}else if( !CHAR_CHECKINDEX( aB1->toindex) ) {
				sprintf( token, "%s隊(%d),因隊長未在時間內到場,視為棄權。",aB1->teamname,aB1->toindex);
				aB1->use = 0;
				ABATTLE_RecordBattle( ti, aB1->teamname, "未", "NULL", "");
				ABATTLE_EnterBattle( aB2);
			}else if( !CHAR_CHECKINDEX( aB2->toindex) ){
				sprintf( token, "%s隊(%d),因隊長未在時間內到場,視為棄權。",aB2->teamname,aB2->toindex);
				aB2->use = 0;
				ABATTLE_RecordBattle( ti, aB2->teamname, "未", "NULL", "");
				ABATTLE_EnterBattle( aB1);
			}
			PKLIST_shoutToAll( token, -1, 8250);
			InBattle[ti] = NULL;
			return FALSE;
		}
		break;
	case 3:	//已排入賽程 隊伍到齊 5分鐘內 強制戰斗
		aB->type=4;
		aB->time=(int)time(NULL)+(2*60);
		break;
	case 4:
		if( aB->time < (int)time(NULL) ){//強制戰斗
			if( CHAR_getWorkInt( aB1->toindex, CHAR_WORKBATTLEMODE) == BATTLE_CHARMODE_NONE ){
				//andy_log
				print("強制戰斗 %s vs %s \n", aB1->teamname, aB2->teamname);
				BATTLE_CreateVsPlayer( aB1->toindex, aB2->toindex );
				aB->type = 5;
			}
		}
		break;
	}

	return TRUE;
}

void ABATTLE_MakeInABattleString( void)
{
	ArrangeBattleC *aB=NULL;
	ArrangeBattleC *aB1=NULL;
	ArrangeBattleC *aB2=NULL;
	char buf1[256], buf[256];
	int i, fir=1;

	memset( ABattlelist, 0, sizeof(ABattlelist));

	for( i=0; i<MAXBATTLEPAGE; i++){
		if( (aB=InBattle[i]) == NULL )continue;
		if( (aB1=aB->next[0]) == NULL || aB1->use == 0 )continue;
		if( (aB2=aB->next[1]) == NULL || aB2->use == 0 )continue;

		switch( aB->type){
		case 0: continue;
			break;
		case 1://預定
			strcpy( buf, "預定");
			break;
		case 2://準備
			strcpy( buf, "準備");
			break;
		case 3://開始
		case 4:
			strcpy( buf, "開始");
			break;
		}

		sprintf( buf1, "%d|%s|%s|%d|%s",
			i, aB1->teamname, aB2->teamname, aB->time, buf);
		if( fir != 1 ) strcat( ABattlelist, " ");
		fir=0;
		strcat( ABattlelist, buf1);
	}
}

BOOL PKLIST_GetABattlelistDataString( int ti, int *tindex, int *stimes,
									 char *buf1, char *buf2, char *buf3, int flg)
{
	char data[1024], buf[256], buff[256];
	switch( flg){
	case 3:
		{
			memset( data, 0, sizeof(data));
			if( getStringFromIndexWithDelim( ABattlelist, " ", ti, data, sizeof(data)) == FALSE  )
				return FALSE;
			if( getStringFromIndexWithDelim( data, "|", 1, buf, sizeof( buf)) == FALSE ) return FALSE;
			*tindex=atoi( buf);
			if( getStringFromIndexWithDelim( data, "|", 2, buf, sizeof( buf))== FALSE) return FALSE;
			strcpy( buf1, buf);
			if( getStringFromIndexWithDelim( data, "|", 3, buf, sizeof( buf))== FALSE) return FALSE;
			strcpy( buf2, buf);
			if( getStringFromIndexWithDelim( data, "|", 4, buf, sizeof( buf))== FALSE) return FALSE;
			*stimes = atoi( buf);
			if( getStringFromIndexWithDelim( data, "|", 5, buf, sizeof( buf))== FALSE ) return FALSE;
			strcpy( buf3, buf);
		}
		break;
	case 5:
		{
			if( getStringFromIndexWithDelim( ABLevelup, " ", ti, data, sizeof(data)) == FALSE  )
				return FALSE;
			if( getStringFromIndexWithDelim( data, "|", 1, buf, sizeof( buf)) == FALSE ) return FALSE;
			*tindex=atoi( buf);
			if( getStringFromIndexWithDelim( data, "|", 2, buff, sizeof( buff)) == FALSE ) return FALSE;
			if( getStringFromIndexWithDelim( data, "|", 3, buf, sizeof( buf)) == FALSE ) return FALSE;
			sprintf( buf1, "[%s]%s ", buff, buf);
			if( getStringFromIndexWithDelim( data, "|", 4, buff, sizeof( buff)) == FALSE ) return FALSE;
			if( getStringFromIndexWithDelim( data, "|", 5, buf, sizeof( buf)) == FALSE ) return FALSE;
			sprintf( buf2, "[%s]%s ", buff, buf);
		}
		break;
	}
	return TRUE;
}

ArrangeBattleC *ABATTLE_getInBattle( int teamnum)
{
	ArrangeBattleC *aB=NULL;
	ArrangeBattleC *aBx=NULL;
	int i;

	for( i=0; i<MAXBATTLEPAGE; i++){
		if( (aB=InBattle[i]) == NULL )continue;
		if( (aBx=aB->next[0]) != NULL && aBx->use == 1 && aBx->teamnum != -1 ){
			if( aBx->teamnum == teamnum )
				return aBx;
		}
		if( (aBx=aB->next[1]) != NULL && aBx->use == 1 && aBx->teamnum != -1 ){
			if( aBx->teamnum == teamnum )
				return aBx;
		}
	}
	return NULL;
}

ArrangeBattleC *ArrangeBattleC_getNew( void)
{
	ArrangeBattleC *MBUF=NULL;
	MBUF = (ArrangeBattleC *) calloc( 1, sizeof( struct _tagArrangeBattle) );
	if( MBUF == NULL ) return NULL;

	MBUF->use = 0;
	MBUF->fl = -1;
	MBUF->code = -1;
	MBUF->teamnum = -1;
	MBUF->toindex = -1;
	MBUF->type=0;
	MBUF->teamname[0]=0;
	MBUF->next[0] = NULL;
	MBUF->next[1] = NULL;
	MBUF->top = NULL;

	return MBUF;
}

ArrangeBattleC *ArrangeBattleC_getInBattleArray( int ti)
{
	if( ti<0 || ti>MAXBATTLEPAGE ) return NULL;
	return InBattle[ti];
}

void ABATTLE_RecordBattle( int ti, char *buf1, char *tstr1,char *buf2, char *tstr2)
{//ABLevelup
	char strlog[512];
	FILE *fp=NULL;

	if( (fp=fopen( "battle.rec", "a+") )==NULL )return;
	sprintf( strlog, "%d|%s|%s|%s|%s", ti, tstr1, buf1, tstr2, buf2);
	fprintf( fp, "%s\n", strlog);
	fclose( fp);

	ABATTLE_GetRecordBattle();
}

void remove_r( char *s )
{
    int i;
    for(i=0;;i++){
        if( s[i]=='\r' || s[i]=='\n' )s[i] =0;
        if( s[i]==0)break;
    }
}

void ABATTLE_GetRecordBattle( void)
{//ABLevelup
	char data[512];
	FILE *fp=NULL;
	memset( ABLevelup, 0, sizeof(ABLevelup));

	if( (fp=fopen( "battle.rec", "r") )==NULL )return;
	while( fgets( data, sizeof(data)-1, fp) ){
		if( strlen( data) <= 0 ) continue;
		remove_r( data);
		if( strlen( ABLevelup) > 0 ) strcat( ABLevelup, " ");
		strcat( ABLevelup, data);
	}
	fclose( fp);
}

void PKLIST_UpData(char *mycdkey,char *tocdkey,int menum,int tonum,int winer,int flg)
{
	int k,meti,toti;

	if((meti = PKLIST_GetPkTeamListArray(menum,mycdkey)) == -1){
		printf("can't find meteam.teamnum(%d),cdkey(%s)\n",menum,mycdkey);
		return;
	}
	if((toti = PKLIST_GetPkTeamListArray(tonum,tocdkey)) == -1){
		printf("can't find toteam.teamnum(%d),cdkey(%s)\n",tonum,tocdkey);
		return;
	}

	if(PkTeamList[meti].use != 1){
		printf("meteam not in use.teamnum(%d),cdkey(%s)\n",menum,mycdkey);
		return;
	}
	/*for(k=0;k<MAXBATTLENUM;k++){
		if( PkTeamList[meti].BHistory[k].use != 1 ) continue;
		if( PkTeamList[meti].BHistory[k].teamnum == tonum ){
			return;
		}
	}*/
	if( PkTeamList[toti].use != 1 ){
		printf("toteam not in use.teamnum(%d),cdkey(%s)\n",tonum,tocdkey);
		return;
	}
	/*for( k=0; k<MAXBATTLENUM; k++ ){
		if( PkTeamList[toti].BHistory[k].use != 1 ) continue;
		if( PkTeamList[toti].BHistory[k].teamnum == menum ){
			return;
		}
	}*/
	PKLIST_UpdateOnePkTeamData(meti,tonum,(winer==0)?1:0);
	PKLIST_UpdateOnePkTeamData(toti,menum,(winer==1)?1:0);
}

int PKLIST_UpdateOnePkTeamData( int ti, int forti, int winerflg)
{
	int ret=0;
	int battleTi = PKLIST_GetOneBHistory( ti );
	if( battleTi == -1){
		printf( "ti:%d battleTi:%d err !!\n", ti, battleTi);
		return -2;
	}

	if( winerflg == 1 ){
		PkTeamList[ti].win++;
	}else{
		PkTeamList[ti].lost++;
	}
	PkTeamList[ti].battleplay++; //場次
	PkTeamList[ti].score = (PkTeamList[ti].win*3) - (PkTeamList[ti].lost*1);//積分

	if( PkTeamList[ti].score >= 90 ){
		PkTeamList[ti].inside = 2; //錄取
	}else if( PkTeamList[ti].lost > 50*0.4){// 0.7 = (1-勝率3成)*最高場次
		PkTeamList[ti].inside = 0;
	}else {
		PkTeamList[ti].inside = 1;
	}

	if( PkTeamList[ti].score < 0 ) PkTeamList[ti].score = 0;

	ret = PKLIST_SetOneBHistory( ti, battleTi, 1, forti, winerflg);
	//PKLIST_SortTheCharts( ti);
	return ret;
}

int PKLIST_GetOneBHistory( int ti )
{
	int i;
	if( ti < 0 || ti >= maxteam ){
		printf( "GetOneBHistory(ti:%d) err return -1 !!\n", ti);
		return -1;
	}
	for( i=0; i<MAXBATTLENUM; i++){
		if( i>=DEFMAXBATTLENUM ) break;
		if( PkTeamList[ti].BHistory[i].use == 0 ){
			printf("return BHistory[%d] \n", i) ;
			return i;
		}
	}

	printf("BATTLEFULL err !! \n") ;
	return -1;
}

int PKLIST_SetOneBHistory( int ti, int hi, int use, int teamnum, int flg )
{
	if( ti < 0 || ti >= maxteam ) return -1;
	if( hi < 0 || hi >= MAXBATTLENUM ) return -1;
	if( PkTeamList[ti].BHistory[hi].use == use ) return -1;
	
	PkTeamList[ti].BHistory[hi].teamnum = teamnum;
	PkTeamList[ti].BHistory[hi].flg = flg;
	PkTeamList[ti].BHistory[hi].use = use;
	return 1;
}

#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91麻豆精品国产91久久久| 大陆成人av片| 成人欧美一区二区三区黑人麻豆| 91精品国产aⅴ一区二区| 欧美性猛片xxxx免费看久爱| 日韩三级免费观看| 国产激情视频一区二区三区欧美| 日韩高清在线一区| 极品少妇xxxx精品少妇| 国产在线精品免费| 狠狠色丁香婷婷综合| 国产一区美女在线| 成人av免费网站| 欧美午夜一区二区| 日韩精品一区二区三区蜜臀 | 精品一区二区三区日韩| 久久国产三级精品| 不卡的av电影在线观看| 69久久夜色精品国产69蝌蚪网| 欧美精品第1页| 亚洲国产成人午夜在线一区| 欧美mv日韩mv| 欧美电影一区二区| 日韩精品中文字幕在线一区| 久久精品一二三| 午夜电影一区二区| 91污在线观看| 日韩欧美中文一区| 亚洲综合一区二区精品导航| 蜜桃91丨九色丨蝌蚪91桃色| 欧美网站大全在线观看| 欧美国产日本韩| 国产在线不卡一区| 日韩欧美久久一区| 亚洲va欧美va天堂v国产综合| 国产乱人伦偷精品视频免下载 | 7777精品伊人久久久大香线蕉 | 美脚の诱脚舐め脚责91| 欧美日韩在线播放三区| 一区二区三区四区不卡视频| 国产一区二区三区美女| 欧美成人三级电影在线| 麻豆精品久久久| 精品理论电影在线| 狠狠色狠狠色综合| 国产精品久久久久久妇女6080 | 日韩欧美国产成人一区二区| 日本特黄久久久高潮| 精品少妇一区二区三区在线播放 | 中文字幕一区二区三区在线播放| 精品一区二区三区在线观看国产 | av男人天堂一区| 国产精品麻豆久久久| 粉嫩欧美一区二区三区高清影视| 欧美va天堂va视频va在线| 青青草原综合久久大伊人精品 | 国产精品美女久久久久久久久久久 | 99re热视频精品| 国产精品伦一区| 色一情一伦一子一伦一区| 综合久久综合久久| 99精品桃花视频在线观看| 一区在线观看免费| 国产精品996| 国产肉丝袜一区二区| 波多野结衣中文字幕一区二区三区| 欧美日韩亚洲不卡| 日韩二区在线观看| 69堂精品视频| 成人黄色小视频| 日本午夜一本久久久综合| 美女国产一区二区三区| 在线影院国内精品| 久久精品国产99国产| 国产亚洲精久久久久久| 欧美日韩一区二区三区在线看| 久久精品国产免费| 国产人伦精品一区二区| 欧美在线一二三四区| 午夜久久久影院| 精品毛片乱码1区2区3区| 成人app网站| 麻豆一区二区三| 亚洲免费三区一区二区| 国产亚洲欧美色| 91麻豆精品国产91久久久久 | 国产精品美女一区二区| 在线综合亚洲欧美在线视频| 国产福利不卡视频| 日韩电影在线一区二区三区| 色综合久久久久久久久久久| 亚洲成av人综合在线观看| 精品国内二区三区| 在线不卡免费欧美| 91久久精品一区二区二区| 青青草97国产精品免费观看 | 欧洲精品在线观看| 精品一区二区三区视频在线观看 | 91在线视频网址| 国产一区激情在线| 国产丶欧美丶日本不卡视频| 国产在线精品国自产拍免费| 国产精品一区二区久激情瑜伽| 美腿丝袜亚洲综合| 麻豆国产一区二区| 国产在线播放一区| 不卡的av网站| 欧美剧情电影在线观看完整版免费励志电影 | 国产在线一区二区| 成人午夜电影小说| 色综合久久久久综合99| 欧美欧美欧美欧美首页| 精品理论电影在线| 2020国产精品自拍| 亚洲天堂成人在线观看| 亚洲1区2区3区4区| 国产高清无密码一区二区三区| 亚洲 欧美综合在线网络| 蜜桃久久久久久久| 99久久免费精品| 日韩小视频在线观看专区| 国产日韩亚洲欧美综合| 国产精品热久久久久夜色精品三区| 国产精品国产a级| 日本不卡的三区四区五区| 日韩中文字幕91| 91丨九色丨尤物| 国产亲近乱来精品视频| 天天影视色香欲综合网老头| 国产乱国产乱300精品| 日韩精品乱码免费| 亚洲精品亚洲人成人网在线播放| 亚洲一二三四在线观看| 精品中文字幕一区二区| 欧美日韩亚洲综合| 亚洲视频免费在线观看| 国产电影精品久久禁18| 欧美日韩亚洲不卡| 1区2区3区国产精品| 国产v综合v亚洲欧| 久久久久久电影| 国产一区二区调教| 91一区在线观看| 日韩美女视频一区| 99久久伊人网影院| 国产精品福利电影一区二区三区四区| 婷婷六月综合亚洲| 91丨porny丨首页| 欧美成人激情免费网| 亚洲h在线观看| 日本一区二区三级电影在线观看| 国产伦精品一区二区三区免费迷| 中文字幕一区二区三区不卡| 91麻豆精东视频| 免费欧美高清视频| 欧美电视剧免费观看| 国产成人精品一区二区三区四区| 亚洲人成小说网站色在线 | 在线观看日韩电影| 国产福利一区二区三区在线视频| 亚洲免费在线看| 国产欧美一区二区精品忘忧草| 欧美在线短视频| 国产v日产∨综合v精品视频| 亚洲高清免费视频| 亚洲人吸女人奶水| 欧美激情一区在线观看| 欧美理论片在线| 欧美无乱码久久久免费午夜一区| www.亚洲免费av| 国产在线精品不卡| 免费人成精品欧美精品| 亚洲成人777| 日产欧产美韩系列久久99| 亚洲综合男人的天堂| 亚洲三级电影网站| 日本一区二区不卡视频| 欧美精品一区二区三区高清aⅴ| 欧美一区二区三区系列电影| 精品久久久久一区二区国产| 欧美三级韩国三级日本三斤| 在线免费一区三区| 欧美日韩激情一区二区三区| 在线欧美日韩国产| 欧美日韩国产精品自在自线| 欧美日韩精品一区二区| 日韩一区二区三区在线| 欧美xxxxx牲另类人与| 日韩欧美一二三区| 久久久久国产精品麻豆ai换脸 | 欧美一级午夜免费电影| 久久久不卡影院| 亚洲精品国产精品乱码不99| 亚洲一区二区三区精品在线| 日韩电影在线观看电影| 精品一区二区三区在线观看国产| 国产成人综合视频| 欧美另类videos死尸| 国产欧美日本一区视频| 午夜成人免费视频|