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

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

?? bs.c

?? ncurses-5.4 需要的就來下把 一定會有用的哦
?? C
?? 第 1 頁 / 共 2 頁
字號:
/*  * bs.c - original author: Bruce Holloway *		salvo option by: Chuck A DeGaul * with improved user interface, autoconfiguration and code cleanup *		by Eric S. Raymond <esr@snark.thyrsus.com> * v1.2 with color support and minor portability fixes, November 1990 * v2.0 featuring strict ANSI/POSIX conformance, November 1993. * v2.1 with ncurses mouse support, September 1995 * * $Id: bs.c,v 1.39 2003/12/06 18:10:13 tom Exp $ */#include <time.h>#include <test.priv.h>#ifndef SIGIOT#define SIGIOT SIGABRT#endifstatic int getcoord(int);/* * Constants for tuning the random-fire algorithm. It prefers moves that * diagonal-stripe the board with a stripe separation of srchstep. If * no such preferred moves are found, srchstep is decremented. */#define BEGINSTEP	3	/* initial value of srchstep *//* miscellaneous constants */#define SHIPTYPES	5#define	OTHER		(1-turn)#define PLAYER		0#define COMPUTER	1#define MARK_HIT	'H'#define MARK_MISS	'o'#define CTRLC		'\003'	/* used as terminate command */#define FF		'\014'	/* used as redraw command *//* coordinate handling */#define BWIDTH		10#define BDEPTH		10/* display symbols */#define SHOWHIT		'*'#define SHOWSPLASH	' '#define IS_SHIP(c)	(isupper(UChar(c)) ? TRUE : FALSE)/* how to position us on player board */#define PYBASE	3#define PXBASE	3#define PY(y)	(PYBASE + (y))#define PX(x)	(PXBASE + (x)*3)#define pgoto(y, x)	(void)move(PY(y), PX(x))/* how to position us on cpu board */#define CYBASE	3#define CXBASE	48#define CY(y)	(CYBASE + (y))#define CX(x)	(CXBASE + (x)*3)#define CYINV(y)	((y) - CYBASE)#define CXINV(x)	(((x) - CXBASE) / 3)#define cgoto(y, x)	(void)move(CY(y), CX(x))#define ONBOARD(x, y)	(x >= 0 && x < BWIDTH && y >= 0 && y < BDEPTH)/* other board locations */#define COLWIDTH	80#define PROMPTLINE	21	/* prompt line */#define SYBASE		CYBASE + BDEPTH + 3	/* move key diagram */#define SXBASE		63#define MYBASE		SYBASE - 1	/* diagram caption */#define MXBASE		64#define HYBASE		SYBASE - 1	/* help area */#define HXBASE		0/* this will need to be changed if BWIDTH changes */static char numbers[] = "   0  1  2  3  4  5  6  7  8  9";static char carrier[] = "Aircraft Carrier";static char battle[] = "Battleship";static char sub[] = "Submarine";static char destroy[] = "Destroyer";static char ptboat[] = "PT Boat";static char name[40];static char dftname[] = "stranger";/* direction constants */#define E	0#define SE	1#define S	2#define SW	3#define W	4#define NW	5#define N	6#define NE	7static int xincr[8] ={1, 1, 0, -1, -1, -1, 0, 1};static int yincr[8] ={0, 1, 1, 1, 0, -1, -1, -1};/* current ship position and direction */static int curx = (BWIDTH / 2);static int cury = (BDEPTH / 2);typedef struct {    char *name;			/* name of the ship type */    int hits;			/* how many times has this ship been hit? */    char symbol;		/* symbol for game purposes */    int length;			/* length of ship */    int x, y;			/* coordinates of ship start point */    int dir;			/* direction of `bow' */    bool placed;		/* has it been placed on the board? */} ship_t;static bool checkplace(int b, ship_t * ss, int vis);#define SHIPIT(name, symbol, length) { name, 0, symbol, length, 0,0, 0, FALSE }static ship_t plyship[SHIPTYPES] ={    SHIPIT(carrier, 'A', 5),    SHIPIT(battle, 'B', 4),    SHIPIT(destroy, 'D', 3),    SHIPIT(sub, 'S', 3),    SHIPIT(ptboat, 'P', 2),};static ship_t cpuship[SHIPTYPES] ={    SHIPIT(carrier, 'A', 5),    SHIPIT(battle, 'B', 4),    SHIPIT(destroy, 'D', 3),    SHIPIT(sub, 'S', 3),    SHIPIT(ptboat, 'P', 2),};/* "Hits" board, and main board. */static char hits[2][BWIDTH][BDEPTH];static char board[2][BWIDTH][BDEPTH];static int turn;		/* 0=player, 1=computer */static int plywon = 0, cpuwon = 0;	/* How many games has each won? */static int salvo, blitz, closepack;#define	PR	(void)addstrstatic RETSIGTYPE uninitgame(int sig) GCC_NORETURN;static RETSIGTYPE uninitgame(int sig GCC_UNUSED)/* end the game, either normally or due to signal */{    clear();    (void) refresh();    (void) reset_shell_mode();    (void) echo();    (void) endwin();    ExitProgram(sig ? EXIT_FAILURE : EXIT_SUCCESS);}static voidannounceopts(void)/* announce which game options are enabled */{    if (salvo || blitz || closepack) {	(void) printw("Playing optional game (");	if (salvo)	    (void) printw("salvo, ");	else	    (void) printw("nosalvo, ");	if (blitz)	    (void) printw("blitz ");	else	    (void) printw("noblitz, ");	if (closepack)	    (void) printw("closepack)");	else	    (void) printw("noclosepack)");    } else	(void) printw(			 "Playing standard game (noblitz, nosalvo, noclosepack)");}static voidintro(void){    char *tmpname;    srand((unsigned) (time(0L) + getpid()));	/* Kick the random number generator */    (void) signal(SIGINT, uninitgame);    (void) signal(SIGINT, uninitgame);    (void) signal(SIGIOT, uninitgame);	/* for assert(3) */    if (signal(SIGQUIT, SIG_IGN) != SIG_IGN)	(void) signal(SIGQUIT, uninitgame);    if ((tmpname = getlogin()) != 0) {	(void) strcpy(name, tmpname);	name[0] = toupper(name[0]);    } else	(void) strcpy(name, dftname);    (void) initscr();    keypad(stdscr, TRUE);    (void) def_prog_mode();    (void) nonl();    (void) cbreak();    (void) noecho();#ifdef PENGUIN    (void) clear();    (void) mvaddstr(4, 29, "Welcome to Battleship!");    (void) move(8, 0);    PR("                                                  \\\n");    PR("                           \\                     \\ \\\n");    PR("                          \\ \\                   \\ \\ \\_____________\n");    PR("                         \\ \\ \\_____________      \\ \\/            |\n");    PR("                          \\ \\/             \\      \\/             |\n");    PR("                           \\/               \\_____/              |__\n");    PR("           ________________/                                       |\n");    PR("           \\  S.S. Penguin                                         |\n");    PR("            \\                                                     /\n");    PR("             \\___________________________________________________/\n");    (void) mvaddstr(22, 27, "Hit any key to continue...");    (void) refresh();    (void) getch();#endif /* PENGUIN */#ifdef A_COLOR    start_color();    init_pair(COLOR_BLACK, COLOR_BLACK, COLOR_BLACK);    init_pair(COLOR_GREEN, COLOR_GREEN, COLOR_BLACK);    init_pair(COLOR_RED, COLOR_RED, COLOR_BLACK);    init_pair(COLOR_CYAN, COLOR_CYAN, COLOR_BLACK);    init_pair(COLOR_WHITE, COLOR_WHITE, COLOR_BLACK);    init_pair(COLOR_MAGENTA, COLOR_MAGENTA, COLOR_BLACK);    init_pair(COLOR_BLUE, COLOR_BLUE, COLOR_BLACK);    init_pair(COLOR_YELLOW, COLOR_YELLOW, COLOR_BLACK);#endif /* A_COLOR */#ifdef NCURSES_MOUSE_VERSION    (void) mousemask(BUTTON1_CLICKED, (mmask_t *) NULL);#endif /* NCURSES_MOUSE_VERSION */}/* VARARGS1 */static voidprompt(int n, const char *f, const char *s)/* print a message at the prompt line */{    (void) move(PROMPTLINE + n, 0);    (void) clrtoeol();    (void) printw(f, s);    (void) refresh();}static voiderror(NCURSES_CONST char *s){    (void) move(PROMPTLINE + 2, 0);    (void) clrtoeol();    if (s) {	(void) addstr(s);	(void) beep();    }}static voidplaceship(int b, ship_t * ss, int vis){    int l;    for (l = 0; l < ss->length; ++l) {	int newx = ss->x + l * xincr[ss->dir];	int newy = ss->y + l * yincr[ss->dir];	board[b][newx][newy] = ss->symbol;	if (vis) {	    pgoto(newy, newx);	    (void) addch((chtype) ss->symbol);	}    }    ss->hits = 0;}static intrnd(int n){    return (((rand() & 0x7FFF) % n));}static voidrandomplace(int b, ship_t * ss)/* generate a valid random ship placement into px,py */{    do {	ss->dir = rnd(2) ? E : S;	ss->x = rnd(BWIDTH - (ss->dir == E ? ss->length : 0));	ss->y = rnd(BDEPTH - (ss->dir == S ? ss->length : 0));    } while	(!checkplace(b, ss, FALSE));}static voidinitgame(void){    int i, j, unplaced;    ship_t *ss;    (void) clear();    (void) mvaddstr(0, 35, "BATTLESHIPS");    (void) move(PROMPTLINE + 2, 0);    announceopts();    memset(board, 0, sizeof(char) * BWIDTH * BDEPTH * 2);    memset(hits, 0, sizeof(char) * BWIDTH * BDEPTH * 2);    for (i = 0; i < SHIPTYPES; i++) {	ss = cpuship + i;	ss->x =	    ss->y =	    ss->dir =	    ss->hits = 0;	ss->placed = FALSE;	ss = plyship + i;	ss->x =	    ss->y =	    ss->dir =	    ss->hits = 0;	ss->placed = FALSE;    }    /* draw empty boards */    (void) mvaddstr(PYBASE - 2, PXBASE + 5, "Main Board");    (void) mvaddstr(PYBASE - 1, PXBASE - 3, numbers);    for (i = 0; i < BDEPTH; ++i) {	(void) mvaddch(PYBASE + i, PXBASE - 3, (chtype) (i + 'A'));#ifdef A_COLOR	if (has_colors())	    attron(COLOR_PAIR(COLOR_BLUE));#endif /* A_COLOR */	(void) addch(' ');	for (j = 0; j < BWIDTH; j++)	    (void) addstr(" . ");#ifdef A_COLOR	attrset(0);#endif /* A_COLOR */	(void) addch(' ');	(void) addch((chtype) (i + 'A'));    }    (void) mvaddstr(PYBASE + BDEPTH, PXBASE - 3, numbers);    (void) mvaddstr(CYBASE - 2, CXBASE + 7, "Hit/Miss Board");    (void) mvaddstr(CYBASE - 1, CXBASE - 3, numbers);    for (i = 0; i < BDEPTH; ++i) {	(void) mvaddch(CYBASE + i, CXBASE - 3, (chtype) (i + 'A'));#ifdef A_COLOR	if (has_colors())	    attron(COLOR_PAIR(COLOR_BLUE));#endif /* A_COLOR */	(void) addch(' ');	for (j = 0; j < BWIDTH; j++)	    (void) addstr(" . ");#ifdef A_COLOR	attrset(0);#endif /* A_COLOR */	(void) addch(' ');	(void) addch((chtype) (i + 'A'));    }    (void) mvaddstr(CYBASE + BDEPTH, CXBASE - 3, numbers);    (void) mvprintw(HYBASE, HXBASE,		    "To position your ships: move the cursor to a spot, then");    (void) mvprintw(HYBASE + 1, HXBASE,		    "type the first letter of a ship type to select it, then");    (void) mvprintw(HYBASE + 2, HXBASE,		    "type a direction ([hjkl] or [4862]), indicating how the");    (void) mvprintw(HYBASE + 3, HXBASE,		    "ship should be pointed. You may also type a ship letter");    (void) mvprintw(HYBASE + 4, HXBASE,		    "followed by `r' to position it randomly, or type `R' to");    (void) mvprintw(HYBASE + 5, HXBASE,		    "place all remaining ships randomly.");    (void) mvaddstr(MYBASE, MXBASE, "Aiming keys:");    (void) mvaddstr(SYBASE, SXBASE, "y k u    7 8 9");    (void) mvaddstr(SYBASE + 1, SXBASE, " \\|/      \\|/ ");    (void) mvaddstr(SYBASE + 2, SXBASE, "h-+-l    4-+-6");    (void) mvaddstr(SYBASE + 3, SXBASE, " /|\\      /|\\ ");    (void) mvaddstr(SYBASE + 4, SXBASE, "b j n    1 2 3");    /* have the computer place ships */    for (ss = cpuship; ss < cpuship + SHIPTYPES; ss++) {	randomplace(COMPUTER, ss);	placeship(COMPUTER, ss, FALSE);    }    ss = (ship_t *) NULL;    do {	char c, docked[SHIPTYPES + 2], *cp = docked;	/* figure which ships still wait to be placed */	*cp++ = 'R';	for (i = 0; i < SHIPTYPES; i++)	    if (!plyship[i].placed)		*cp++ = plyship[i].symbol;	*cp = '\0';	/* get a command letter */	prompt(1, "Type one of [%s] to pick a ship.", docked + 1);	do {	    c = getcoord(PLAYER);	} while	    (!strchr(docked, c));	if (c == 'R')	    (void) ungetch('R');	else {	    /* map that into the corresponding symbol */	    for (ss = plyship; ss < plyship + SHIPTYPES; ss++)		if (ss->symbol == c)		    break;	    prompt(1, "Type one of [hjklrR] to place your %s.", ss->name);	    pgoto(cury, curx);	}	do {	    c = getch();	} while	    (!strchr("hjklrR", c) || c == FF);	if (c == FF) {	    (void) clearok(stdscr, TRUE);	    (void) refresh();	} else if (c == 'r') {	    prompt(1, "Random-placing your %s", ss->name);	    randomplace(PLAYER, ss);	    placeship(PLAYER, ss, TRUE);	    error((char *) NULL);	    ss->placed = TRUE;	} else if (c == 'R') {	    prompt(1, "Placing the rest of your fleet at random...", "");	    for (ss = plyship; ss < plyship + SHIPTYPES; ss++)		if (!ss->placed) {		    randomplace(PLAYER, ss);		    placeship(PLAYER, ss, TRUE);		    ss->placed = TRUE;		}	    error((char *) NULL);	} else if (strchr("hjkl8462", c)) {	    ss->x = curx;	    ss->y = cury;	    switch (c) {	    case 'k':	    case '8':		ss->dir = N;		break;	    case 'j':	    case '2':		ss->dir = S;		break;	    case 'h':	    case '4':		ss->dir = W;		break;	    case 'l':	    case '6':		ss->dir = E;		break;	    }	    if (checkplace(PLAYER, ss, TRUE)) {		placeship(PLAYER, ss, TRUE);		error((char *) NULL);		ss->placed = TRUE;	    }	}	for (unplaced = i = 0; i < SHIPTYPES; i++)	    unplaced += !plyship[i].placed;    } while	(unplaced);    turn = rnd(2);    (void) mvprintw(HYBASE, HXBASE,		    "To fire, move the cursor to your chosen aiming point   ");    (void) mvprintw(HYBASE + 1, HXBASE,		    "and strike any key other than a motion key.            ");    (void) mvprintw(HYBASE + 2, HXBASE,		    "                                                       ");    (void) mvprintw(HYBASE + 3, HXBASE,		    "                                                       ");    (void) mvprintw(HYBASE + 4, HXBASE,		    "                                                       ");    (void) mvprintw(HYBASE + 5, HXBASE,		    "                                                       ");    (void) prompt(0, "Press any key to start...", "");    (void) getch();}static intgetcoord(int atcpu){    int ny, nx, c;    if (atcpu)	cgoto(cury, curx);    else	pgoto(cury, curx);    (void) refresh();    for (;;) {	if (atcpu) {	    (void) mvprintw(CYBASE + BDEPTH + 1, CXBASE + 11, "(%d, %c)",			    curx, 'A' + cury);	    cgoto(cury, curx);	} else {	    (void) mvprintw(PYBASE + BDEPTH + 1, PXBASE + 11, "(%d, %c)",			    curx, 'A' + cury);	    pgoto(cury, curx);	}	switch (c = getch()) {	case 'k':	case '8':	case KEY_UP:	    ny = cury + BDEPTH - 1;	    nx = curx;	    break;	case 'j':	case '2':	case KEY_DOWN:	    ny = cury + 1;	    nx = curx;	    break;	case 'h':	case '4':	case KEY_LEFT:	    ny = cury;	    nx = curx + BWIDTH - 1;	    break;	case 'l':	case '6':	case KEY_RIGHT:	    ny = cury;	    nx = curx + 1;	    break;	case 'y':	case '7':	case KEY_A1:	    ny = cury + BDEPTH - 1;	    nx = curx + BWIDTH - 1;	    break;	case 'b':	case '1':	case KEY_C1:	    ny = cury + 1;	    nx = curx + BWIDTH - 1;	    break;	case 'u':	case '9':	case KEY_A3:	    ny = cury + BDEPTH - 1;	    nx = curx + 1;	    break;	case 'n':	case '3':	case KEY_C3:	    ny = cury + 1;	    nx = curx + 1;	    break;	case FF:	    nx = curx;	    ny = cury;	    (void) clearok(stdscr, TRUE);	    (void) refresh();	    break;#ifdef NCURSES_MOUSE_VERSION	case KEY_MOUSE:	    {		MEVENT myevent;		getmouse(&myevent);		if (atcpu		    && myevent.y >= CY(0) && myevent.y <= CY(BDEPTH)		    && myevent.x >= CX(0) && myevent.x <= CX(BDEPTH)) {		    curx = CXINV(myevent.x);		    cury = CYINV(myevent.y);		    return (' ');		} else {		    beep();		    continue;		}	    }	    /* no fall through */#endif /* NCURSES_MOUSE_VERSION */	default:	    if (atcpu)		(void) mvaddstr(CYBASE + BDEPTH + 1, CXBASE + 11, "      ");	    else		(void) mvaddstr(PYBASE + BDEPTH + 1, PXBASE + 11, "      ");	    return (c);	}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产喷白浆一区二区三区| 成人av集中营| 热久久一区二区| 香蕉影视欧美成人| 亚洲一区二区三区四区在线免费观看| 2021国产精品久久精品| 欧美xxxx在线观看| 国产亚洲一区二区三区| 国产精品你懂的| 一区二区三区高清不卡| 青青草97国产精品免费观看| 久久精品国产99国产| eeuss鲁一区二区三区| 不卡高清视频专区| 欧美一级免费大片| 国产片一区二区三区| 亚洲综合成人网| 日本怡春院一区二区| 成人性生交大片免费看中文| 日本道色综合久久| 欧美tickling挠脚心丨vk| 欧美激情在线一区二区| 亚洲一区二区三区不卡国产欧美| 日韩av一区二区三区四区| 国产91精品在线观看| 欧洲国内综合视频| 国产精品久久久久久久久图文区 | 国产成人8x视频一区二区| 激情久久久久久久久久久久久久久久| 91精品国产色综合久久| 国产综合久久久久久久久久久久| 欧美变态凌虐bdsm| 久久国产福利国产秒拍| 国产精品色哟哟网站| 在线一区二区观看| 日本成人在线电影网| 久久男人中文字幕资源站| 岛国精品一区二区| 亚洲欧洲成人自拍| 亚洲一区二区三区中文字幕在线| 高清beeg欧美| 欧美一级电影网站| 国产在线播放一区二区三区| 日韩午夜在线观看| 狠狠网亚洲精品| 国产午夜精品一区二区| 国产福利一区二区三区视频| 精品91自产拍在线观看一区| 激情深爱一区二区| 国产精品另类一区| 91香蕉国产在线观看软件| 亚洲精品日产精品乱码不卡| 色狠狠色狠狠综合| 亚洲bt欧美bt精品777| 日韩精品一区二区三区蜜臀 | 日韩亚洲电影在线| 国产精品亚洲专一区二区三区| 中文字幕一区二区三区在线播放 | 亚洲一区日韩精品中文字幕| 欧美一区二区三区免费在线看 | 欧美日韩极品在线观看一区| 欧美偷拍一区二区| 亚洲午夜精品一区二区三区他趣| 秋霞午夜av一区二区三区| 欧美成人女星排名| 成人精品免费看| 三级不卡在线观看| 亚洲图片另类小说| 精品国产乱子伦一区| 成人av在线看| 国产一区二区精品久久99| 国产亚洲一区字幕| 欧美一区二区视频网站| 99久久综合99久久综合网站| 精品中文字幕一区二区小辣椒| 亚洲少妇屁股交4| 国产欧美精品一区二区色综合朱莉| 宅男噜噜噜66一区二区66| 91国内精品野花午夜精品| 国产精品影视在线观看| 麻豆国产精品一区二区三区| 亚洲国产精品尤物yw在线观看| 2024国产精品| 国产日韩一级二级三级| 久久综合资源网| 日韩视频在线永久播放| 日韩午夜av电影| 日韩女优视频免费观看| 欧美一级片在线| 国产亚洲精品7777| 久久影院午夜论| 国产精品美女视频| 尤物在线观看一区| 日本亚洲视频在线| 免费在线视频一区| 国产a精品视频| 91小视频免费看| 欧美色男人天堂| 精品剧情v国产在线观看在线| 日韩亚洲欧美在线| 国产欧美日韩在线| 亚洲成人综合视频| 久久国产精品99久久人人澡| 成人免费视频app| 欧美视频在线不卡| 久久久久久黄色| 亚洲欧洲另类国产综合| 日韩激情av在线| 国产成人三级在线观看| 欧美日韩精品是欧美日韩精品| 日韩欧美成人激情| 亚洲一区av在线| 国产一区二区视频在线| 欧美日韩精品欧美日韩精品一 | 精品一区二区三区在线观看国产| 国产精品白丝jk黑袜喷水| 在线免费精品视频| 亚洲国产高清在线观看视频| 捆绑调教美女网站视频一区| 91丝袜国产在线播放| 久久女同精品一区二区| 男女男精品视频| 欧美一区二区在线免费播放| 亚洲一区二区在线免费看| 色婷婷av一区二区三区软件| 久久久久久毛片| 国产乱子伦视频一区二区三区| 欧美一级欧美三级在线观看| 午夜亚洲国产au精品一区二区| 国产99久久久国产精品潘金| 中文字幕欧美激情一区| 国产成人自拍网| 91精品国产综合久久香蕉麻豆 | 亚洲精品久久7777| 极品少妇xxxx精品少妇| 99久久久精品免费观看国产蜜| 欧美日韩在线观看一区二区| 成人午夜电影久久影院| 91精品视频网| 日韩成人伦理电影在线观看| 99视频精品全部免费在线| 久久天天做天天爱综合色| 调教+趴+乳夹+国产+精品| 成人h动漫精品一区二区| 日韩一级视频免费观看在线| 亚洲香肠在线观看| 欧美一级欧美三级| 国产成人精品一区二区三区四区 | 久久久久88色偷偷免费| 日日夜夜精品视频免费 | 午夜免费久久看| 日本一区二区三级电影在线观看| 国产激情91久久精品导航| 亚洲视频免费观看| 欧美唯美清纯偷拍| 国产精品少妇自拍| 日韩和欧美一区二区| 日韩美女一区二区三区| 国产传媒欧美日韩成人| 综合电影一区二区三区 | 欧美精品123区| 免费精品视频在线| 亚洲欧美国产毛片在线| av一区二区久久| 精品一区二区在线观看| 欧美精品一区二区三区很污很色的 | 亚洲一二三区在线观看| 欧美一级片在线看| 色视频一区二区| 免费黄网站欧美| 国产免费成人在线视频| 欧美日韩另类一区| 国产精品99久久久| 青青国产91久久久久久| 婷婷亚洲久悠悠色悠在线播放 | 秋霞国产午夜精品免费视频| 亚洲欧洲成人自拍| 最新国产成人在线观看| 国产精品美女www爽爽爽| 精品久久国产老人久久综合| 欧美亚洲国产一区二区三区va| 国产91露脸合集magnet | 久久色在线观看| 日韩欧美你懂的| 日韩一级欧美一级| 欧美一级高清片在线观看| 91精品国产综合久久久久久久久久 | 国产精品中文字幕欧美| 日本在线不卡视频| 麻豆一区二区99久久久久| 免费观看30秒视频久久| 国产一区二区三区久久悠悠色av| 日韩va亚洲va欧美va久久| 久久久精品黄色| 91精品在线观看入口| 欧美丰满少妇xxxbbb| 91精品国产日韩91久久久久久| 91.com视频| 国产精品久久久久婷婷| 欧美日韩成人一区|