日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

数据结构与算法课程设计之五子棋(人机)

發布時間:2024/3/13 编程问答 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据结构与算法课程设计之五子棋(人机) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

數據結構與算法課程設計之五子棋(人機)

五子棋是全國智力運動會競技項目之一,是一種兩人對弈的純策略型棋類游戲。通常雙方分別使用黑白兩色的棋子,下在棋盤直線與橫線的交叉點上,先形成五子連線者獲勝。
這是我在大二下數據結構與算法課程設計的時候做的經典小游戲。如果僅僅做一個人人對戰的五子棋(不聯機)是非常簡單的。這實際就是一個簡單的界面設計,鼠標事件的響應以及五子連珠的判斷問題。但我做了一個人機對戰的五子棋。你下一子,電腦會下一子,誰先連成五子誰獲得勝利。想要電腦足夠智能(當然沒有用到現在比較熱門的機器學習和深度學習),就需要程序能夠應對各種情況(這里相對比較復雜,需要足夠了解五子棋的規則,有一定技術的人才能讓電腦不至于是一個大傻瓜)。對于一個對弈類的游戲,其實可以使用博弈樹來做,可以讓電腦找到有限步內的最優解,但我當時并不是很了解博弈樹,所以就沒用。完全是分了將近20種情況,電腦遇到不同情況做出不同的選擇。
除了人機對弈做的有模有樣,我的界面也受到了室友們的一致贊同。并且課設老師在驗收的時候就直接給了優(一般需要經過驗收+報告等步驟,最后綜合給分)。下面展示一下我的程序的界面:
C++課程設計之小游戲歡樂小魚

上面是登錄界面,哪個櫻花一直在往下掉落,是動態的。有人人對戰模式和人機對戰模式。掉落的梅花是一個類,類有一個實現往下掉落的函數。

這個界面是游戲的介紹。

人機對戰,界面包含了基本的下棋功能。以及悔棋,重玩,計實等功能。整個棋盤是一個二維的數組。沒棋子的位子為0.,下白棋的位置位為1,下黑棋的位置為2。(可能是反著的,我記得不是很清楚了)

上面一局棋,是人機對弈。我和電腦玩的。我先手執黑棋,電腦執白棋。很容易看出來是我輸了。
最后我會把代碼放在后面,需要的可以運行看看效果。所以我先講講運行環境:
我編譯的環境:windows 10、Visual Studio 2017、Easy_x春分版2018(加載圖形庫)。
我上面已經標好軟件的位置了,你也可以下載最高版本的,是可以運行我的程序的。
由于需要加載easy_x圖形庫,所以在下載好【Easy_x】后,點擊它然后進去找到vs,點一下安裝就可以了(記得重新打開vs)。
這個是程序用到的圖片,可以免費下載:圖片資源(使用的相對路徑,需要把圖片(不是圖片文件夾)放到源代碼同一級目錄下)
代碼:

// ///項目名稱:五子棋 /// ///編譯程序:Visual Studio 2017 /// ///圖形庫:Easyx2018春分版(下載網址:http://www.easyx.cn )/// ///作者:1264397259@qq.com /// // #include<iostream> using namespace std; #include<graphics.h> #include<conio.h> #include<time.h> #include<mmsystem.h> #pragma comment(lib,"winmm.lib")enum Condition {//狀態NO_CHESSMEN, BLACK_CHESSMEN, WHITE_CHESSMEN, WALL }; enum Direction {//方向HORIZONTAL, VERTICAL, POSITIVE_BATTER, NEGATIVE_BATTER }; class Flowers {//飛舞梅花 public:Flowers(){loadimage(&img[0], _T("桃花一朵1.png"));loadimage(&img[1], _T("桃花一朵2.png"));loadimage(&img[2], _T("桃花一朵3.png"));loadimage(&img[3], _T("桃花一朵4.png"));loadimage(&img1, _T("桃花枝.png"));loadimage(&img3, _T("棋盤.png"));x = (rand() % 250) + 20;m = (rand() % 2) + 1;}void Move(){n = n + m;if (n % (m * 5) == 0) l++;if (l >= 4) l = 0;putimage(x, 100 + n, &img[l]);putimage(-50, -50, &img1, SRCPAINT);putimage(0, 250, &img3, SRCPAINT);setlinecolor(BLACK);line(x, 100 + n, x + 25, 100 + n);if (m == 2)line(x, 101 + n, x + 25, 101 + n);if (n >= 360){n = 0;x = (rand() % 250) + 20;m = (rand() % 2) + 1;}} private:IMAGE img[4];IMAGE img1, img3;int x;int n = 0, l = 0, m = 1;}; class Point {//點類 public:Point(){x = 0;y = 0;condition = NO_CHESSMEN;for (int i = 0; i < 4; i++)W[i] = 0;}void Change_Condition(Condition condition1){condition = condition1;}Condition Get_Condition(){return condition;}int Get_M_W(){int a, b;a = max(W[0], W[1]);b = max(W[2], W[3]);return max(a, b);}int x;int y;int W[4];//橫、縱、正斜、反斜 private:Condition condition; }; typedef struct Lnode {//鏈表節點Point point;int W_mun;int W_max;Lnode* next; }Lnode;typedef int Status;//相當于定義一個bool; const int NODE = 15;//棋盤大小15*15。 IMAGE img11, img21, img12, img22; int ss = 1;//判斷可否落子。1-可以,0-不可以 void Introduce(); Status Pop(Lnode* top);//出棧 Status Push(Lnode* top, Point point);//入棧 void Draw_Begin_Face();//(圖片的插入和布局) void Draw_Chessboard();//畫棋盤(主要是畫線條) Status Init_List(Lnode*& H, Point point);//創鏈表 Status Increase_Node(Lnode*& H, Lnode* node);//頭插法 void Coordinate(Point point[NODE + 2][NODE + 2]);//坐標初始化 void PVP(int l, int p, int q, Point point[NODE + 2][NODE + 2]);//人人對戰 void PVC(int l, int p, int q, Point point[NODE + 2][NODE + 2]);//人機對弈 int Work(int front, int back, Condition condition1, Condition condition2);//計算權值 int Get_Weight(Point point[NODE + 2][NODE + 2], int i, int j, Condition condition, Direction direction);//獲取權值 void Charge(Point point[NODE + 2][NODE + 2], int i, int j, Condition condition);//判斷是否有五子連珠(是否有一方獲得勝利) int main() {int h = 0;//花瓣落下時,控制各花朵出現的時間。MOUSEMSG m; // 定義鼠標消息int l = 0;//用來判斷當前落子的顏色int q = 0, p = 0;Flowers flower[6];srand((unsigned)time(NULL));loadimage(&img11, _T("悔1.jpg"));loadimage(&img21, _T("重1.jpg"));loadimage(&img12, _T("悔2.jpg"));loadimage(&img22, _T("重2.jpg"));/*mciSendString(_T("open 亡靈序曲.mp3 alias music1"), NULL, 0, NULL);///mciSendString(_T("play music1 repeat"), NULL, 0, NULL);///mciSendString(_T("stop music1 "), NULL, 0, NULL);/*/initgraph(560, 460);HWND hWnd = GetHWnd();// 使用 API 函數修改窗口名稱SetWindowText(hWnd, _T("五子棋"));Draw_Begin_Face();while (true){Point point[NODE + 2][NODE + 2];Coordinate(point);while (MouseHit()){m = GetMouseMsg();// 獲取一條鼠標消息switch (m.uMsg){case WM_LBUTTONDOWN:if (m.x >= 400 && m.x <= 504){closegraph();if (m.y >= 330 && m.y <= 355) { Draw_Chessboard(); PVP(l, p, q, point); }if (m.y >= 365 && m.y <= 390) { Draw_Chessboard(); PVC(l, p, q, point); }if (m.y >= 400 && m.y <= 425) { Introduce(); }if (m.y >= 435 && m.y <= 460) { return 0; }setfillcolor(BLACK);cleardevice();Draw_Begin_Face();}}}h++;flower[0].Move();if (h >= 100)flower[1].Move();if (h >= 140)flower[2].Move();if (h >= 180)flower[3].Move();if (h >= 220)flower[4].Move();if (h >= 270)flower[5].Move();Sleep(50);}closegraph();return 0; }void Introduce() {initgraph(560, 460);IMAGE img1;loadimage(&img1, _T("桃花枝.png"));IMAGE img3;loadimage(&img3, _T("棋盤.png"));putimage(0, 250, &img3);putimage(-50, -50, &img1);settextcolor(GREEN);outtextxy(300, 150, _T("游戲名稱:簡易五子棋"));outtextxy(300, 170, _T("游戲玩法:人人對戰、人機對戰"));outtextxy(300, 200, _T("人人對戰:兩人用鼠標點擊下棋,"));outtextxy(300, 220, _T(" 先下的玩家執黑旗,后下"));outtextxy(300, 240, _T(" 的執白棋。"));outtextxy(300, 270, _T("人機對戰:玩家和電腦對抗,玩家"));outtextxy(300, 290, _T(" 可以選擇先手,也可以當"));outtextxy(300, 310, _T(" 后手,可悔棋,可重玩。"));int j = 0;FlushConsoleInputBuffer(GetStdHandle(STD_INPUT_HANDLE));while (!_kbhit()){outtextxy(j, 440, _T("按任意鍵退出"));setfillcolor(BLACK);solidrectangle(j - 1, 440, j, 460);Sleep(20);j++;if (j >= 570)j = 0;} } void Draw_Begin_Face() {IMAGE img1;loadimage(&img1, _T("桃花枝.png"));putimage(-50, -50, &img1);IMAGE img4[3];loadimage(&img4[0], _T("五.png"));putimage(325, 0, &img4[0]);loadimage(&img4[1], _T("子.png"));putimage(335, 100, &img4[1]);loadimage(&img4[2], _T("棋.png"));putimage(395, 140, &img4[2]);IMAGE img[4];loadimage(&img[0], _T("桃花一朵1.png"));loadimage(&img[1], _T("桃花一朵2.png"));loadimage(&img[2], _T("桃花一朵3.png"));loadimage(&img[3], _T("桃花一朵4.png"));IMAGE img3;loadimage(&img3, _T("棋盤.png"));putimage(0, 250, &img3);IMAGE img6[4];loadimage(&img6[0], _T("人人.png"));loadimage(&img6[1], _T("人機.png"));loadimage(&img6[2], _T("介紹.png"));loadimage(&img6[3], _T("退出.png"));putimage(400, 330, &img6[0]);putimage(400, 365, &img6[1]);putimage(400, 400, &img6[2]);putimage(400, 435, &img6[3]); } void Draw_Chessboard() {initgraph(560, 460);setlinecolor(RGB(230, 200, 150));setlinestyle(PS_SOLID | PS_JOIN_BEVEL, 1);line(320, 0, 320, 320);IMAGE img;loadimage(&img, _T("木頭4.jpg"));putimage(0, 0, &img);for (int i = 2; i < NODE; i++){line(20, (i - 1) * 30 + 20, 440, (i - 1) * 30 + 20);line((i - 1) * 30 + 20, 20, (i - 1) * 30 + 20, 440);}setlinestyle(PS_SOLID | PS_JOIN_BEVEL, 3);line(20, (1 - 1) * 30 + 20, 440, (1 - 1) * 30 + 20);line(20, (NODE - 1) * 30 + 20, 440, (NODE - 1) * 30 + 20);line((1 - 1) * 30 + 20, 20, (1 - 1) * 30 + 20, 440);line((NODE - 1) * 30 + 20, 20, (NODE - 1) * 30 + 20, 440);setfillcolor(BLACK);solidcircle(110, 110, 3);solidcircle(350, 110, 3);solidcircle(110, 350, 3);solidcircle(350, 350, 3);solidcircle(230, 230, 3); } Status Pop(Lnode* top) {if (top->next == NULL) return false;Lnode* q;q = top->next;top->next = q->next;free(q);return true; } Status Push(Lnode* top, Point point) {Lnode* p = new Lnode;if (!p) return false;p->point = point;p->next = top->next;top->next = p;return true; } Status Init_List(Lnode*& H, Point point)//論初始化的重要性 {Lnode* p = new Lnode;if (!p)return false;p->W_mun = 0;p->W_max = 0;p->point = point;p->next = NULL;Increase_Node(H, p);return 1; } Status Increase_Node(Lnode*& H, Lnode* node)//頭插法 {node->next = H->next;H->next = node;return 1;} void Coordinate(Point point[NODE + 2][NODE + 2]) {for (int i = 0; i < NODE + 2; i++)//對落子位置初始化for (int j = 0; j < NODE + 2; j++){point[i][j].x = (i - 1) * 30 + 20;point[i][j].y = (j - 1) * 30 + 20;}for (int i = 0; i < NODE + 2; i++)//對棋盤邊界初始化{point[i][0].Change_Condition(WALL);point[i][16].Change_Condition(WALL);point[0][i].Change_Condition(WALL);point[16][i].Change_Condition(WALL);} }//點的坐標 void PVP(int l, int p, int q, Point point[NODE + 2][NODE + 2]) {IMAGE IM, Im;int out = 1;int minute = 0, secend = 0;TCHAR s1[5], s2[5];putimage(470, 80, &img11);putimage(470, 180, &img21);settextcolor(RED);settextstyle(30, 0, _T("宋體"));outtextxy(470, 350, _T("退出"));outtextxy(470, 400, _T("返回"));settextstyle(0, 0, _T("宋體"));getimage(&Im, 470, 80, 60, 60);getimage(&IM, 40, 40, 21, 21);//悔棋后恢復棋盤solidrectangle(470, 20, 530, 45);_stprintf_s(s2, _T("%d"), secend);outtextxy(510, 25, s2);_stprintf_s(s1, _T("%d"), minute);outtextxy(480, 25, s1);outtextxy(495, 25, _T(":"));SYSTEMTIME t1, t2; GetLocalTime(&t1);Lnode* top = new Lnode;if (!top)exit(0);top->W_max = 0; top->W_mun = 0; top->next = NULL; top->point = point[0][0];HWND wnd = GetHWnd();MOUSEMSG m;while (out){GetLocalTime(&t2);if (t2.wSecond != t1.wSecond){secend++;_stprintf_s(s1, _T("%d"), secend);setfillcolor(BLACK);solidrectangle(500, 20, 530, 45);outtextxy(510, 25, s1);t1 = t2;}if (secend >= 60){secend = 0; minute++;_stprintf_s(s2, _T("%d"), minute);outtextxy(480, 25, s2);}while (MouseHit()){m = GetMouseMsg();// 獲取一條鼠標消息switch (m.uMsg){case WM_LBUTTONDOWN:for (int i = 1; i <= NODE; i++)for (int j = 1; j <= NODE; j++){if (ss == 1 && (point[i][j].x - m.x) * (point[i][j].x - m.x) + (point[i][j].y - m.y) * (point[i][j].y - m.y) <= 100 && point[i][j].Get_Condition() == NO_CHESSMEN){if (l == 0){setfillcolor(WHITE);solidcircle(point[q][p].x, point[q][p].y, 10);setfillcolor(BLACK);solidcircle(point[i][j].x, point[i][j].y, 10);setfillcolor(RED);solidcircle(point[i][j].x, point[i][j].y, 3);point[i][j].Change_Condition(BLACK_CHESSMEN);Push(top, point[i][j]);Charge(point, i, j, BLACK_CHESSMEN);l = 1;//l=1,則下白棋q = i; p = j;}else{setfillcolor(BLACK);solidcircle(point[q][p].x, point[q][p].y, 10);setfillcolor(WHITE);solidcircle(point[i][j].x, point[i][j].y, 10);setfillcolor(RED);solidcircle(point[i][j].x, point[i][j].y, 3);point[i][j].Change_Condition(WHITE_CHESSMEN);Push(top, point[i][j]);Charge(point, i, j, WHITE_CHESSMEN);q = i; p = j;l = 0;//l=0,則下黑棋}}}if ((m.x - 500) * (m.x - 500) + (m.y - 110) * (m.y - 110) <= 30 * 30 && top->next != NULL){ss = 1;putimage(470, 80, &Im);putimage(477, 87, &img12);Sleep(50);putimage(470, 80, &img11);int ii = (top->next->point.x - 20) / 30 + 1;int jj = (top->next->point.y - 20) / 30 + 1;point[ii][jj].Change_Condition(NO_CHESSMEN);putimage(point[ii][jj].x - 10, point[ii][jj].y - 10, &IM);Pop(top);/q = 0, p = 0;}if ((m.x - 500) * (m.x - 500) + (m.y - 210) * (m.y - 210) <= 30 * 30 && top->next != NULL){ss = 1;putimage(470, 180, &Im);putimage(477, 187, &img22);Sleep(50);putimage(470, 180, &img21);for (Lnode* p = top; top->next != NULL;){int ii = (top->next->point.x - 20) / 30 + 1;int jj = (top->next->point.y - 20) / 30 + 1;point[ii][jj].Change_Condition(NO_CHESSMEN);putimage(point[ii][jj].x - 10, point[ii][jj].y - 10, &IM);Pop(top);}q = 0, p = 0, l = 0, secend = 0, minute = 0;}if (m.x >= 470 && m.x <= 530 && m.y >= 350 && m.y <= 380){HWND wnd = GetHWnd();if (MessageBox(wnd, _T("是否退出游戲?"), _T("退出"), MB_YESNO | MB_ICONQUESTION) == IDYES)exit(1);}if (m.x >= 470 && m.x <= 530 && m.y >= 400 && m.y <= 430){HWND wnd = GetHWnd();if (MessageBox(wnd, _T("是否返回上一界面?"), _T("返回"), MB_YESNO | MB_ICONQUESTION) == IDYES)out = 0;}}}} } void PVC(int l, int p, int q, Point point[NODE + 2][NODE + 2]) {IMAGE IM, Im;int choose;int out = 1;TCHAR s1[5], s2[5];int minute = 0, secend = 0;SYSTEMTIME t1, t2;GetLocalTime(&t1);putimage(470, 80, &img11);putimage(470, 180, &img21);settextcolor(RED);settextstyle(30, 0, _T("宋體"));outtextxy(470, 350, _T("退出"));outtextxy(470, 400, _T("返回"));settextstyle(0, 0, _T("宋體"));getimage(&Im, 470, 80, 60, 60);getimage(&IM, 40, 40, 21, 21);//悔棋后恢復棋盤solidrectangle(470, 20, 530, 45);_stprintf_s(s2, _T("%d"), secend);outtextxy(510, 25, s2);_stprintf_s(s1, _T("%d"), minute);outtextxy(480, 25, s1);outtextxy(495, 25, _T(":"));Lnode* top = new Lnode;if (!top)exit(0);top->W_max = 0; top->W_mun = 0; top->next = NULL; top->point = point[0][0];Sleep(1000);HWND wnd = GetHWnd();if (MessageBox(wnd, _T("是否先手?"), _T("選擇"), MB_YESNO | MB_ICONQUESTION) == IDYES)choose = 1;else choose = 0;MOUSEMSG m;while (out){if (l == choose){int number = 0;Lnode* H = new Lnode;if (!H)exit(0);H->W_max = 0; H->W_mun = 0; H->next = NULL; H->point = point[0][0];for (int i = NODE; i > 0; i--)for (int j = NODE; j > 0; j--){if (point[i][j].Get_Condition() == NO_CHESSMEN) { Init_List(H, point[i][j]); number++; }}for (Lnode* p = H; p->next != NULL; ){int i = (p->next->point.x - 20) / 30 + 1;int j = (p->next->point.y - 20) / 30 + 1;p->next->point.W[0] = Get_Weight(point, i, j, WHITE_CHESSMEN, HORIZONTAL) + Get_Weight(point, i, j, BLACK_CHESSMEN, HORIZONTAL);p->next->point.W[1] = Get_Weight(point, i, j, WHITE_CHESSMEN, VERTICAL) + Get_Weight(point, i, j, BLACK_CHESSMEN, VERTICAL);p->next->point.W[2] = Get_Weight(point, i, j, WHITE_CHESSMEN, POSITIVE_BATTER) + Get_Weight(point, i, j, BLACK_CHESSMEN, POSITIVE_BATTER);p->next->point.W[3] = Get_Weight(point, i, j, WHITE_CHESSMEN, NEGATIVE_BATTER) + Get_Weight(point, i, j, BLACK_CHESSMEN, NEGATIVE_BATTER);p->next->W_max = p->next->point.Get_M_W();p->next->W_mun = p->next->point.W[0] + p->next->point.W[1] + p->next->point.W[2] + p->next->point.W[3];if (p->next->W_max >= H->W_max){H->W_max = p->next->W_max;p = p->next;}else{Lnode* q = p->next;p->next = p->next->next;delete(q);number--;}}if (H->next != NULL){for (Lnode* p = H; p->next != NULL;){if (p->next->W_max < H->W_max){Lnode* q = p->next;p->next = p->next->next;delete(q);number--;}else{if (p->next->W_mun > H->W_mun) H->W_mun = p->next->W_mun;p = p->next;}}for (Lnode* p = H; p->next != NULL;){if (p->next->W_mun < H->W_mun){Lnode* q = p->next;p->next = p->next->next;delete(q);number--;}else p = p->next;}int w = rand() % number;while ((w - 1) >= 0){H->next = H->next->next;w--;}int i = (H->next->point.x - 20) / 30 + 1;int j = (H->next->point.y - 20) / 30 + 1;if (choose == 0){setfillcolor(WHITE);solidcircle(point[q][p].x, point[q][p].y, 10);setfillcolor(BLACK);solidcircle(point[i][j].x, point[i][j].y, 10);setfillcolor(RED);solidcircle(point[i][j].x, point[i][j].y, 3);point[i][j].Change_Condition(BLACK_CHESSMEN);Charge(point, i, j, BLACK_CHESSMEN);}else{setfillcolor(BLACK);solidcircle(point[q][p].x, point[q][p].y, 10);setfillcolor(WHITE);solidcircle(point[i][j].x, point[i][j].y, 10);setfillcolor(RED);solidcircle(point[i][j].x, point[i][j].y, 3);point[i][j].Change_Condition(WHITE_CHESSMEN);Charge(point, i, j, WHITE_CHESSMEN);}Push(top, point[i][j]);q = i; p = j;}else MessageBox(NULL, _T("平局,厲害了!"), _T("游戲結束"), MB_OK);l = !choose;//l=0,則下黑棋secend = 0;}else{GetLocalTime(&t2);if (t2.wSecond != t1.wSecond){secend++;_stprintf_s(s1, _T("%d"), secend);setfillcolor(BLACK);solidrectangle(500, 20, 530, 45);outtextxy(510, 25, s1);t1 = t2;}if (secend >= 60){secend = 0; minute++;_stprintf_s(s2, _T("%d"), minute);outtextxy(480, 25, s2);}while (MouseHit()){m = GetMouseMsg();// 獲取一條鼠標消息switch (m.uMsg){case WM_LBUTTONDOWN:{for (int i = 1; i <= NODE; i++)for (int j = 1; j <= NODE; j++)if (ss == 1 && (point[i][j].x - m.x) * (point[i][j].x - m.x) + (point[i][j].y - m.y) * (point[i][j].y - m.y) <= 100 && point[i][j].Get_Condition() == NO_CHESSMEN){if (choose == 1){setfillcolor(WHITE);solidcircle(point[q][p].x, point[q][p].y, 10);setfillcolor(BLACK);solidcircle(point[i][j].x, point[i][j].y, 10);setfillcolor(RED);solidcircle(point[i][j].x, point[i][j].y, 3);point[i][j].Change_Condition(BLACK_CHESSMEN);Charge(point, i, j, BLACK_CHESSMEN);}else{setfillcolor(BLACK);solidcircle(point[q][p].x, point[q][p].y, 10);setfillcolor(WHITE);solidcircle(point[i][j].x, point[i][j].y, 10);setfillcolor(RED);solidcircle(point[i][j].x, point[i][j].y, 3);point[i][j].Change_Condition(WHITE_CHESSMEN);Charge(point, i, j, WHITE_CHESSMEN);}Push(top, point[i][j]);l = choose;q = i; p = j;}}if ((m.x - 500) * (m.x - 500) + (m.y - 110) * (m.y - 110) <= 30 * 30 && top->next != NULL){ss = 1;putimage(470, 80, &Im);putimage(477, 87, &img12);Sleep(50);putimage(470, 80, &img11);int ii = (top->next->point.x - 20) / 30 + 1;int jj = (top->next->point.y - 20) / 30 + 1;point[ii][jj].Change_Condition(NO_CHESSMEN);putimage(point[ii][jj].x - 10, point[ii][jj].y - 10, &IM);Pop(top);ii = (top->next->point.x - 20) / 30 + 1;jj = (top->next->point.y - 20) / 30 + 1;point[ii][jj].Change_Condition(NO_CHESSMEN);putimage(point[ii][jj].x - 10, point[ii][jj].y - 10, &IM);Pop(top);q = 0, p = 0;}if ((m.x - 500) * (m.x - 500) + (m.y - 210) * (m.y - 210) <= 30 * 30 && top->next != NULL){ss = 1;putimage(470, 180, &Im);putimage(477, 187, &img22);Sleep(50);putimage(470, 180, &img21);for (Lnode* p = top; top->next != NULL;){int ii = (top->next->point.x - 20) / 30 + 1;int jj = (top->next->point.y - 20) / 30 + 1;point[ii][jj].Change_Condition(NO_CHESSMEN);putimage(point[ii][jj].x - 10, point[ii][jj].y - 10, &IM);Pop(top);}q = 0, p = 0, l = 0;if (MessageBox(wnd, _T("是否先手?"), _T("選擇"), MB_YESNO | MB_ICONQUESTION) == IDYES)choose = 1;else choose = 0;}if (m.x >= 470 && m.x <= 530 && m.y >= 350 && m.y <= 380){HWND wnd = GetHWnd();if (MessageBox(wnd, _T("是否退出游戲?"), _T("退出"), MB_YESNO | MB_ICONQUESTION) == IDYES)exit(1);}if (m.x >= 470 && m.x <= 530 && m.y >= 400 && m.y <= 430){HWND wnd = GetHWnd();if (MessageBox(wnd, _T("是否返回上一界面?"), _T("返回"), MB_YESNO | MB_ICONQUESTION) == IDYES)out = 0;}}}}} } int Work(int front, int back, Condition condition1, Condition condition2) {switch (front + back){case 0:return 0; break;//權值case 1: if (condition1 != NO_CHESSMEN && condition2 != NO_CHESSMEN)return 0;else if (condition1 == NO_CHESSMEN && condition2 == NO_CHESSMEN) return 10;else return 1; break;case 2: if (condition1 != NO_CHESSMEN && condition2 != NO_CHESSMEN)return 0;else if (condition1 == NO_CHESSMEN && condition2 == NO_CHESSMEN) return 100;else return 10; break;case 3: if (condition1 != NO_CHESSMEN && condition2 != NO_CHESSMEN)return 0;else if (condition1 == NO_CHESSMEN && condition2 == NO_CHESSMEN) return 1000;else return 100; break;default: return 10000;//權值} } int Get_Weight(Point point[NODE + 2][NODE + 2], int i, int j, Condition condition, Direction direction) {//權值計算int front = 0, back = 0, e = 0, m = 0;int h = i, l = j;Condition condition1 = NO_CHESSMEN, condition2 = NO_CHESSMEN;if (direction == HORIZONTAL)m = min(4, h);else if (direction == VERTICAL)m = min(4, l);else if (direction == POSITIVE_BATTER) { e = min(h, l); m = min(4, e); }else { e = min(16 - h, l); m = min(4, e); }while (m > 0){switch (direction){case HORIZONTAL: h--; break;case VERTICAL:l--; break;case POSITIVE_BATTER: h--; l--; break;case NEGATIVE_BATTER:h++; l--; break;default:exit(0);}if (point[h][l].Get_Condition() == condition) front++;else {condition1 = point[h][l].Get_Condition();break;}m--;}if (direction == HORIZONTAL)m = min(4, 16 - i);else if (direction == VERTICAL)m = min(4, 16 - j);else if (direction == POSITIVE_BATTER) { e = min(16 - i, 16 - j); m = min(4, e); }else { e = min(i, 16 - j); m = min(4, e); }while (m > 0){switch (direction){case HORIZONTAL: i++; break;case VERTICAL:j++; break;case POSITIVE_BATTER: i++; j++; break;case NEGATIVE_BATTER:i--; j++; break;default:exit(0);}if (point[i][j].Get_Condition() == condition) back++;else {condition2 = point[i][j].Get_Condition();break;}m--;}return Work(front, back, condition1, condition2); }; void Charge(Point point[NODE + 2][NODE + 2], int i, int j, Condition condition) {int m, h = 0;if (condition == WHITE_CHESSMEN)m = 0;else m = 1;for (int e = 0, k = 1; k <= NODE; k++)//判斷橫向{if (point[k][j].Get_Condition() == condition) e++;else e = 0;if (e == 5) h++;}for (int e = 0, k = 1; k < NODE; k++)//判斷縱向{if (point[i][k].Get_Condition() == condition) e++;else e = 0;if (e == 5)h++;}if (i >= j){for (int e = 0, k = 1, l = (i - j) + 1; l <= NODE; k++, l++){if (point[l][k].Get_Condition() == condition) e++;else e = 0;if (e == 5) h++;}}else{for (int e = 0, k = 1, l = (j - i) + 1; l <= NODE; k++, l++){if (point[k][l].Get_Condition() == condition) e++;else e = 0;if (e == 5) h++;}}if (i + j <= NODE){for (int e = 0, k = 1, l = (i + j) - 1; l > 0; k++, l--){if (point[l][k].Get_Condition() == condition) e++;else e = 0;if (e == 5) h++;}}else{for (int e = 0, k = j + i - NODE, l = NODE; k <= NODE; k++, l--){if (point[l][k].Get_Condition() == condition) e++;else e = 0;if (e == 5) h++;}}if (m == 0 && h != 0) { MessageBox(NULL, _T("執白者獲勝!"), _T("游戲結束"), MB_OK); ss = 0; }if (m == 1 && h != 0) { MessageBox(NULL, _T("執黑者獲勝!"), _T("游戲結束"), MB_OK); ss = 0; } } /*setfillcolor(BLUE); if (Music == true) { Music = false; solidrectangle(0, -160, 30, -130); outtextxy(0, -160, L"關"); } else { Music = true; solidrectangle(0, -160, 30, -130); outtextxy(0, -160, L"開"); }*/

總結

以上是生活随笔為你收集整理的数据结构与算法课程设计之五子棋(人机)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

wwwww.国产 | 亚洲黄色在线观看 | 欧美性色综合 | 色综合久久综合网 | 超碰com| 伊人黄色网 | www久久久 | 综合久久五月天 | 全久久久久久久久久久电影 | 婷婷色婷婷 | 国产视频一区二区在线 | 欧美日韩色婷婷 | 五月开心六月婷婷 | 人人搞人人爽 | 91免费的视频在线播放 | 伊人久在线 | 亚洲精品黄网站 | 国产美女永久免费 | 色午夜影院| 国产高清视频免费最新在线 | 日本特黄一级 | 成人一级片在线观看 | 中文字幕网址 | 婷婷丁香视频 | 97精产国品一二三产区在线 | 一区三区在线欧 | 在线免费av网站 | 国产亚洲精品久久 | 亚洲国产资源 | 日韩av手机在线看 | 成人免费网视频 | 黄色av网站在线免费观看 | 日本中文一级片 | 操久久免费视频 | 不卡精品 | 欧美日在线观看 | 亚洲一级黄色av | 黄色特级一级片 | 久久国际影院 | 在线看的av网站 | 色婷婷欧美| 久久精品一区八戒影视 | 亚洲欧美成人在线 | 国产91亚洲 | 精品久久一 | 成人在线免费小视频 | 中文字幕人成不卡一区 | 日韩一区二区三区免费视频 | 精品亚洲一区二区三区 | 狠狠干电影 | 久久精品久久久精品美女 | 一本一本久久a久久精品综合 | 久久久久国产一区二区三区四区 | 丁香六月伊人 | 亚洲精品久久久久久中文传媒 | 日本中文字幕在线一区 | 欧美精品久久久久久 | 在线观看一级视频 | 国产精品一区二区吃奶在线观看 | 中文字幕一区在线 | 国产中文字幕在线视频 | 精品国产一区二区三区在线观看 | 欧美国产日韩一区二区 | 久久久久国产成人精品亚洲午夜 | 国产区免费在线 | 久久www免费视频 | 国产精品毛片一区二区三区 | www亚洲国产 | 国产无遮挡又黄又爽馒头漫画 | 99精品免费久久久久久久久 | 日韩毛片在线播放 | 在线天堂视频 | 伊人成人精品 | 亚洲网久久 | 6080yy精品一区二区三区 | 精品日韩中文字幕 | 又湿又紧又大又爽a视频国产 | 热久久国产精品 | 美女视频黄免费的久久 | 亚洲精品中文字幕在线观看 | 成人久久精品 | 天天躁日日躁狠狠 | 亚洲资源在线观看 | 天堂视频一区 | 久久福利剧场 | 伊人国产女 | 国产麻豆精品95视频 | 亚洲国产精品成人va在线观看 | 男女视频久久久 | 色婷婷精品大在线视频 | 精品影院| 黄色国产高清 | 国产一区二区成人 | 99精品久久久久 | 又爽又黄又无遮挡网站动态图 | 免费视频99 | 国产精品24小时在线观看 | 一区三区视频在线观看 | 国产亚洲精品久久久久久电影 | 黄污视频大全 | 久久久九九 | 午夜精品久久久久久久久久久久 | 中文字幕国产 | 91福利专区 | 亚洲国产美女久久久久 | 国产999精品视频 | 91亚洲国产成人久久精品网站 | 99久久er热在这里只有精品15 | 丁香六月网 | 日日日爽爽爽 | 国产精品乱码久久久 | 国产精品video爽爽爽爽 | 久久久久精 | 伊人狠狠干 | 中文字幕第一页在线视频 | 色综合天天色综合 | 一区二区三区精品在线视频 | 国产精品乱码久久久 | 国产永久免费 | 国产你懂的在线 | 亚洲黑丝少妇 | 国产视频亚洲精品 | 中文国产字幕在线观看 | 国产中文在线观看 | 天天色.com | av在线播放观看 | 在线亚洲播放 | 亚洲男模gay裸体gay | 欧美午夜理伦三级在线观看 | 日韩免费一级电影 | 精品国产日本 | 久久a热6 | 91视视频在线直接观看在线看网页在线看 | 正在播放国产91 | 97成人在线观看视频 | 免费a网址 | 日韩久久片| 干干夜夜 | 欧美成人免费在线 | 九九久久久 | 久草在线免费新视频 | 天天操比 | 国产一区二区久久精品 | 91福利视频在线 | 色爱成人网 | 在线播放你懂 | 91麻豆传媒 | 中文av在线天堂 | 伊人天堂av | 欧美精品v国产精品 | 在线视频免费观看 | 久久99深爱久久99精品 | 日韩高清免费无专码区 | 免费av观看 | 亚洲va欧美va| 色天天 | 正在播放五月婷婷狠狠干 | 韩国精品视频在线观看 | 久久久久久久亚洲精品 | 黄色官网在线观看 | 国产一区在线观看视频 | 久久精品亚洲综合专区 | 国产精品一码二码三码在线 | 五月婷婷六月丁香 | 九九有精品| 国产三级久久久 | 久久久久久久久久久高潮一区二区 | 国产黄在线免费观看 | www.色婷婷.com | 日本黄色大片免费看 | 亚洲伊人av | 超碰在线天天 | 中文字幕首页 | 97精品超碰一区二区三区 | 免费激情在线电影 | 中文字幕在线观看国产 | 国产一区高清在线观看 | 午夜精品一区二区三区在线播放 | 欧美精品乱码久久久久 | 深夜国产在线 | 国产又粗又硬又长又爽的视频 | 久久久久北条麻妃免费看 | 草草草影院 | 国产一线二线三线性视频 | 国产99免费| www.久久99 | 色开心| 国精产品999国精产品视频 | 中文字幕精品www乱入免费视频 | 在线观看黄网 | 精品久久久久久亚洲综合网站 | 欧美国产高清 | 亚洲精品国产综合99久久夜夜嗨 | 日日爱影视 | 综合色中文| 在线观看免费成人av | 亚洲最新av在线网站 | 在线视频免费观看 | 久久久久久久影视 | 91人人网 | 天天操天天操天天操 | 久久免费激情视频 | 久久久精品国产免费观看同学 | 日本最新中文字幕 | 成人h在线观看 | 国产精品一二三 | 国产黄色视 | 久久黄色网页 | 亚洲桃花综合 | 日日操操操 | www黄色av| 成人高清在线观看 | 国产在线精品一区二区三区 | 97在线免费观看视频 | 久久久久久久综合色一本 | 草久久影院 | 国产va饥渴难耐女保洁员在线观看 | 国产91av视频在线观看 | 国产尤物一区二区三区 | 在线午夜| 国产亚洲欧洲 | 在线国产91 | 精品久久久久一区二区国产 | 国产又粗又猛又色又黄视频 | 国产视频1 | 99国产视频在线 | 91麻豆文化传媒在线观看 | 天天干干 | 久久国产一二区 | 国产精品电影一区 | 久久国产精品久久精品 | 亚洲精品国产成人av在线 | 国产精品一区二区三区在线 | 天堂网一区二区三区 | 久青草视频 | 国产福利专区 | 久久一久久 | 日韩视| 99色视频 | 久久涩涩网站 | 一区电影 | 国产视频黄 | 99久久精品免费看国产一区二区三区 | 成人在线视频免费 | 国产原创在线视频 | 高清av免费看 | 美女又爽又黄 | 亚洲精品免费在线观看 | 中国精品少妇 | 最新日韩中文字幕 | 国产传媒中文字幕 | 91一区二区在线 | 久久久久免费视频 | 国产高清视频在线播放一区 | 天天干天天射天天插 | 在线三级播放 | av片中文字幕 | 亚洲国产mv | 日韩专区 在线 | 中文字幕丝袜一区二区 | 国产久视频 | 久久成人人人人精品欧 | free. 性欧美.com | 在线观看不卡视频 | 在线免费观看黄色 | 国产精品久久久久久69 | 国产精品一区免费看8c0m | 亚洲免费永久精品国产 | 亚洲黄污| 亚洲成av人影片在线观看 | 国产在线 一区二区三区 | 中文字幕免费中文 | 色姑娘综合天天 | 在线中文字幕视频 | 久艹视频在线免费观看 | 国产伦理一区二区三区 | 国产精品一区二区在线免费观看 | 欧美日韩一区二区在线 | 国产精品久久久久久久久久了 | 成人午夜电影在线 | 2018亚洲男人天堂 | 亚洲精品自拍 | 久久久网站 | 丁香花中文在线免费观看 | 欧美一区二视频在线免费观看 | 中文字幕欧美日韩va免费视频 | 9在线观看免费高清完整版 玖玖爱免费视频 | 午夜av在线| 国产精品成人久久久 | 久久精品五月 | 国产精品美乳一区二区免费 | 五月天久久精品 | www.99久久.com| 国产精品久久久久影院日本 | 日韩一二区在线观看 | 97国产在线视频 | 日操干 | 午夜久久久久久久 | 91精品电影 | 国产黄色播放 | 国产小视频免费在线观看 | 亚洲黄色app| 最近日本韩国中文字幕 | 久精品视频在线观看 | 久久九九精品 | 麻豆高清免费国产一区 | 热久久免费视频精品 | 国产精品午夜在线观看 | 国产高清成人 | 国产精品日韩在线 | 在线观看一区二区精品 | 色婷婷精品 | 香蕉在线视频播放网站 | 免费日韩一区二区 | 亚州中文av | 国产在线精品国自产拍影院 | 四虎影视成人永久免费观看亚洲欧美 | 99久热 | 国产精品第十页 | 久久线视频 | 草久久久久久久 | 成人小视频在线免费观看 | 黄色软件在线观看免费 | 久久99久久99精品免观看软件 | 人人看黄色 | av电影免费在线看 | 色鬼综合网 | av色影院 | 狠狠干美女 | 欧美做受高潮1 | 日韩动态视频 | 日韩肉感妇bbwbbwbbw | 国产我不卡 | 国产精品久久久久久超碰 | 深爱激情五月婷婷 | 顶级欧美色妇4khd | 色网站黄 | 嫩草伊人久久精品少妇av | 婷婷国产v亚洲v欧美久久 | 午夜精品一区二区三区在线观看 | 久久图 | 在线观看免费国产小视频 | 亚洲国内精品 | 亚洲欧美视频一区二区三区 | a级片在线播放 | 在线成人免费av | 国产一区二区在线免费 | 在线有码中文字幕 | 色干综合| 久久久久综合视频 | 亚洲天堂视频在线 | 久久人人97超碰com | 久久久国产视频 | 国产精品 中文在线 | 精品国内自产拍在线观看视频 | 日本久久久久久 | 日韩av免费一区二区 | 网站在线观看日韩 | 欧美性天天| av怡红院| av综合在线观看 | 97香蕉超级碰碰久久免费软件 | 亚洲国产999| 日韩com| 亚洲激精日韩激精欧美精品 | 91av网站在线观看 | 天堂在线v| 国产在线视频资源 | 特级毛片网 | 6080yy精品一区二区三区 | 天天摸日日操 | 九九综合九九 | 成人av一区二区在线观看 | 欧美一级大片在线观看 | 亚洲第一香蕉视频 | 午夜三级理论 | 国产一级做a爱片久久毛片a | 亚洲国产精品小视频 | 蜜臀av夜夜澡人人爽人人桃色 | 日韩在线免费观看视频 | 日韩视频中文 | 久操免费视频 | 特级西西444www大精品视频免费看 | 日韩高清一 | 日本三级不卡视频 | 亚洲天天在线日亚洲洲精 | 色a网| 国内精品在线观看视频 | 日日爽天天操 | 免费视频资源 | 在线天堂亚洲 | 国产黄色免费电影 | 国产精品久久久久久久久久久不卡 | 99久久99| 国产精品成人免费精品自在线观看 | 蜜臀精品久久久久久蜜臀 | 黄色aaaaa | 国产a级片免费观看 | 蜜桃av久久久亚洲精品 | 欧美日韩高清在线 | 国产一级二级视频 | 一级黄色a视频 | 精品国产一区二区三区日日嗨 | av片在线观看免费 | 久久精品人人做人人综合老师 | 国产一区二区三区久久久 | 激情婷婷欧美 | 国产成人福利在线观看 | 久久ww| 69av在线播放 | 亚洲成人精品 | 在线a人片免费观看视频 | 国产午夜精品一区二区三区在线观看 | 在线视频1卡二卡三卡 | 91成人在线免费观看 | 久久综合久久综合这里只有精品 | 精品国产电影一区二区 | 九九免费观看视频 | 成年人免费在线 | 国产一级免费电影 | 三级黄色欧美 | 日韩在线观看一区二区三区 | 97精品一区 | 久久精品福利 | 亚洲免费不卡 | 激情欧美xxxx| 亚洲综合五月天 | 免费情缘 | 福利一区二区 | 9在线观看免费 | 免费黄色小网站 | 欧美日韩免费观看一区=区三区 | 日韩一级片网址 | 日韩性久久 | 精壮的侍卫呻吟h | 91在线产啪 | 成 人 免费 黄 色 视频 | 美女网站在线观看 | 在线观看日韩 | 久久综合五月天 | 伊人在线视频 | 草免费视频 | 91视频在线自拍 | 久久成人一区 | 日韩素人在线观看 | 久久久久久久久久国产精品 | 亚洲黄色在线观看 | 精品美女久久久久久免费 | 亚洲黄色av网址 | 国产视频1区2区3区 久久夜视频 | 日日成人网| 欧美一区二区三区在线视频观看 | 国产精品夜夜夜一区二区三区尤 | 天天激情天天干 | 亚洲视频精选 | 91精品伦理 | 狠狠色丁香久久婷婷综合五月 | 日韩欧美视频一区二区 | 国产精品美女久久久久久久 | 久久国产精品二国产精品中国洋人 | 久久这里精品视频 | 奇米网777| 久久女教师 | 波多野结衣视频一区二区三区 | 成人久久18免费网站图片 | 欧美日韩后 | 久久av免费 | 欧美男同视频网站 | 国产成人在线播放 | 激情五月在线视频 | 伊人射 | 欧美性做爰猛烈叫床潮 | av在线免费在线观看 | 国产精品久久久久久久久久新婚 | 国产专区一 | 在线探花 | 亚洲性少妇性猛交wwww乱大交 | 99国产视频| 久久小视频 | 久久免费公开视频 | 日韩在观看线 | 国产精品九九九 | 久久亚洲热 | 欧美日韩一级久久久久久免费看 | 美女激情影院 | 天天综合网久久综合网 | 婷婷综合成人 | 婷婷伊人五月 | 国产精品九九久久99视频 | 国产黄色片免费观看 | 久久久久久国产精品 | 精品视频在线播放 | 亚洲国产中文字幕 | 久久成人精品电影 | 久久人人97超碰国产公开结果 | 久久免费精品视频 | 最近久乱中文字幕 | 国产精品免费久久久久影院仙踪林 | av在线免费观看网站 | 狠狠操夜夜操 | 在线观看日韩国产 | 精品免费99久久 | 国产一级二级三级视频 | 国产成人精品亚洲 | 激情五月激情综合网 | 日韩精品久久久久久 | 午夜精品久久久久久99热明星 | 国产成人精品一区二区三区福利 | 日韩精品一区二区三区中文字幕 | 日韩超碰 | 久草国产在线 | 欧美激情精品久久久久久变态 | 亚洲精选视频免费看 | 四虎永久网站 | 9999国产精品 | 91少妇精拍在线播放 | 国产日韩视频在线观看 | 国产亚州精品视频 | 久久av免费 | 91大神在线观看视频 | 99久久久国产精品免费99 | 9999精品| 亚洲日本中文字幕在线观看 | 久久99热久久99精品 | 亚洲电影久久 | 中文在线字幕观看电影 | 国产精品美女久久久网av | 中文十次啦 | www色网站| 中文字幕免费国产精品 | 免费在线黄网 | 美女网站在线观看 | 91成人黄色 | 97av超碰| 国产在线综合视频 | 黄a网站 | www.香蕉| 久久久精品成人 | 美女网站一区 | 免费色视频在线 | 国产一二区免费视频 | 狠狠撸电影| 国产精品久久久久久欧美 | 狠狠干婷婷| av免费网站观看 | 久久精品播放 | 成人在线免费看视频 | 国产一卡久久电影永久 | 超碰午夜 | 少妇性bbb搡bbb爽爽爽欧美 | 国产欧美精品一区二区三区四区 | 午夜 在线| 四虎4hu永久免费 | 国产一线天在线观看 | 狠狠色狠狠色综合日日小说 | 免费的黄色的网站 | 天天操天天操天天操天天操天天操 | 欧美精品一区二区性色 | 日韩免费b | 日本三级久久久 | 久久99中文字幕 | 久久超级碰视频 | 视频在线一区二区三区 | 亚洲精品国精品久久99热一 | 三级视频片 | www在线观看视频 | 在线看一区二区 | 亚洲高清av在线 | 亚洲综合成人在线 | 视频精品一区二区三区 | 成人影音在线 | 亚洲综合五月 | 99亚洲精品视频 | 久草观看 | 欧美国产日韩一区二区 | 欧美一区二区三区免费观看 | 一区二区三区免费在线播放 | 国产在线视频一区 | 最新日本中文字幕 | 亚洲精品视频 | 久久精品99视频 | 国产 在线 日韩 | 波多野结衣视频一区二区 | 成人黄色中文字幕 | 在线观看中文字幕2021 | 高清av在线 | 免费久久久久久 | 一区二区三区观看 | 成人影片在线播放 | 亚洲高清精品在线 | 综合网五月天 | 久久草在线视频国产 | 国产成人福利片 | 久久久久久久久久影视 | 最近中文字幕免费观看 | 四虎国产永久在线精品 | 天天av在线播放 | 不卡日韩av | 日韩av三区| 国产色视频一区二区三区qq号 | 香蕉国产91 | 99久久精品免费看 | 91热视频 | 亚洲婷婷在线视频 | 国产品久精国精产拍 | 国产香蕉视频在线观看 | 亚洲午夜久久久久久久久 | 免费成人av电影 | 日日夜夜操操操操 | 午夜在线观看一区 | 久久久久综合精品福利啪啪 | 一区二区三区电影大全 | 国产精品久久久久久久妇 | 一区二区三区中文字幕在线观看 | 国产精品 中文字幕 亚洲 欧美 | 国产精品女 | 美女免费视频一区 | 成人黄色影片在线 | 涩涩网站在线看 | 黄色免费视频在线观看 | 色网免费观看 | 欧美一级片在线免费观看 | 亚洲一级性 | 国产成人免费av电影 | 国外av在线| 中文在线亚洲 | 国产精品麻豆三级一区视频 | 免费观看黄色12片一级视频 | 国产精品毛片一区视频播不卡 | 国产色综合天天综合网 | 日韩欧美综合精品 | 在线观看 国产 | 成年人免费av网站 | 东方av在线免费观看 | 国产精品区二区三区日本 | 亚洲国产精品va在线看黑人 | 欧美视频不卡 | 欧美精品中文在线免费观看 | 久久久久免费精品 | www.在线看片.com | 亚洲综合婷婷 | 欧美日韩99 | 久久婷婷激情 | 亚洲成人频道 | 欧美日韩国产xxx | 亚洲一区二区视频在线播放 | 欧美在线观看视频一区二区三区 | 国产又粗又猛又色又黄网站 | 亚洲91在线| 成人av电影免费在线播放 | 成人91视频| 精品你懂的 | 久久永久视频 | 亚洲视频中文 | 99久久精品电影 | 国产精品第一页在线观看 | 91中文在线视频 | 在线视频你懂 | 国内综合精品午夜久久资源 | 三级视频国产 | 成人三级网址 | 国产九九精品 | 91av电影网| 亚洲精品美女 | 国产精品手机视频 | 91九色视频网站 | 亚洲人精品午夜 | 国产特级毛片aaaaaa毛片 | www.久久免费 | 欧美日韩免费在线观看视频 | 69国产精品视频免费观看 | 久久久久亚洲精品成人网小说 | 91视频在线网址 | 91女神的呻吟细腰翘臀美女 | 免费影视大全推荐 | 日韩精品最新在线观看 | 亚洲dvd| 国产精品麻豆果冻传媒在线播放 | 九九视频精品免费 | 麻豆果冻剧传媒在线播放 | 黄色h在线观看 | 久久精品久久99精品久久 | 青青网视频 | a黄色| 玖玖玖影院 | 久久精品网址 | 激情丁香婷婷 | 天天爱天天操天天爽 | 国产精品久久久久婷婷 | 欧美天天干 | 亚欧洲精品视频在线观看 | 最新在线你懂的 | 首页av在线| 久久er99热精品一区二区 | 国产自制av | 欧美激情精品久久久 | 91mv.cool在线观看| 2024国产精品视频 | 色偷偷88888欧美精品久久 | 成人avav| 国产激情小视频在线观看 | 99精品国产高清在线观看 | 亚洲在线观看av | 黄av资源 | 99欧美精品 | 久久精品视频免费观看 | 岛国av在线不卡 | 久久特级毛片 | 欧美小视频在线观看 | 婷婷在线视频观看 | 狠狠色伊人亚洲综合网站色 | 2019中文字幕第一页 | 久久国产欧美日韩 | 制服丝袜天堂 | 狠狠网 | 国产精品免费观看国产网曝瓜 | 91久草视频 | 一级做a爱片性色毛片www | 最新影院 | 日本中文字幕在线电影 | 久久国产一区二区三区 | 日日干夜夜干 | 成av人电影 | 精品在线观看一区二区三区 | 亚洲精品视频偷拍 | av九九| 午夜男人影院 | 九九九九精品九九九九 | 免费色网| 欧美另类一二三四区 | 免费国产视频 | 国产午夜激情视频 | 午夜三级理论 | av在线播放快速免费阴 | 久久精品网站免费观看 | 国产黄色片久久久 | 96精品在线| 亚洲天堂网在线播放 | 黄色的视频网站 | 日韩三级av| 国产成人av福利 | 免费视频 你懂的 | 国产一区在线视频观看 | 婷婷激情网站 | 久久久久久国产一区二区三区 | 国产成a人亚洲精v品在线观看 | 精品一区二区在线免费观看 | 久久精品视频一 | 国产在线美女 | 精品日韩视频 | 毛片a级片 | 亚洲人片在线观看 | 四虎国产| 亚洲高清视频一区二区三区 | 欧美一级片在线免费观看 | 干天天 | 免费高清在线视频一区· | 狠狠色狠狠色 | 午夜精品一二三区 | 久久经典国产 | 国产免费中文字幕 | 成人一区二区三区在线观看 | 欧美日韩高清一区二区三区 | 日韩乱码在线 | 日本中文字幕免费观看 | 久久久午夜精品理论片中文字幕 | 色综合久久久久久久久五月 | 婷婷色在线播放 | 狠狠狠狠狠狠狠狠干 | 国产成人三级一区二区在线观看一 | 亚洲激情六月 | 国产美女被啪进深处喷白浆视频 | 天天狠狠干 | 中文字幕黄色 | 特级西西www44高清大胆图片 | 国产高清在线不卡 | 美女免费黄视频网站 | 亚洲精品乱码久久久久久 | 国产一级淫片免费看 | 97精品国自产拍在线观看 | 国产精品a成v人在线播放 | 欧美激情视频一二区 | 综合色中文 | 亚洲性少妇性猛交wwww乱大交 | 日韩毛片精品 | 日韩精品电影在线播放 | 久久精品系列 | 手机看片99 | 久久久精品一区二区三区 | 久久久一本精品99久久精品66 | 91视频在线国产 | 欧美不卡视频在线 | 在线色亚洲 | 91成人免费电影 | 人人看97| 欧美激情亚洲综合 | 蜜桃传媒一区二区 | 日韩精品一区二区三区外面 | 麻豆视频免费入口 | 国产一区二区视频在线 | 亚洲在线日韩 | 国产亚洲精品久久久久久大师 | 日韩字幕 | 欧美日韩在线观看一区 | 丁香视频全集免费观看 | 色偷偷人人澡久久超碰69 | 久久久久久久久久久国产精品 | 日本护士三级少妇三级999 | 91精品国产91热久久久做人人 | 免费av高清 | 超碰97在线人人 | 日本精品视频一区 | 天天草天天色 | 国产高清成人 | 毛片的网址| 美女网站视频免费都是黄 | 欧美日韩视频在线观看免费 | 久久这里 | 在线观看的av | 偷拍区另类综合在线 | 日韩理论在线 | 99精品国自产在线 | 就要色综合 | 欧洲精品在线视频 | 一级久久精品 | 亚洲日本色 | 国产五月天婷婷 | 亚洲aⅴ乱码精品成人区 | 久久久久免费网 | 欧美九九九 | 99精品热视频 | 成人国产一区 | 成人 国产 在线 | 精品久久久久一区二区国产 | 天天射射天天 | 久久免费视屏 | 中文字幕亚洲欧美日韩2019 | 久草视频观看 | 国产精品视频你懂的 | 91看片在线播放 | 久久久久久高清 | 国产专区第一页 | 91九色综合 | 亚洲精品国偷自产在线99热 | 久久综合狠狠综合 | 日本免费久久高清视频 | 99久e精品热线免费 99国产精品久久久久久久久久 | 天堂在线视频免费观看 | 麻豆传媒精品 | 99这里有精品| 四虎成人网 | 免费看的黄色 | 少妇搡bbbb搡bbb搡69 | 日韩av影视在线观看 | 麻豆国产视频 | 黄色小网站免费看 | 日韩视频一区二区三区在线播放免费观看 | 最近免费中文字幕大全高清10 | 欧美成人a在线 | 2022久久国产露脸精品国产 | 久久久精品国产一区二区三区 | 国产理论片在线观看 | 99国产在线 | 最新国产福利 | 黄色成人av在线 | 久久新| 国产剧在线观看片 | 免费国产视频 | 日韩av片无码一区二区不卡电影 | 免费视频久久 | a久久免费视频 | 日韩特级片 | 中文字幕在线看视频国产中文版 | 美女网站视频久久 | 免费成人黄色av | 亚洲综合射 | 视频成人永久免费视频 | 俺要去色综合狠狠 | 人人干免费 | 久久久午夜影院 | 伊人资源视频在线 | 美女免费黄网站 | 毛片.com| 欧美一级片在线 | 日韩激情影院 | 美女网站色在线观看 | 天堂久久电影网 | 久久乐九色婷婷综合色狠狠182 | 久青草视频在线观看 | 成人一级视频在线观看 | 欧美少妇xxx | 中文av在线免费观看 | 最近日韩中文字幕中文 | 在线久草视频 | 久久久www成人免费毛片 | 欧美激情视频免费看 | 亚洲手机天堂 | 国产 日韩 欧美 中文 在线播放 | 国内久久| 亚洲电影一区二区 | 中国一级特黄毛片大片久久 | 日本韩国精品在线 | 欧美精品免费在线观看 | 国产原创av在线 | 日韩在线视频国产 | 中文字幕在线观看视频网站 | 91av影视 | 成人午夜网址 | 欧美日一级片 | av一级片 | 国产婷婷精品 | 一区二区三区在线观看中文字幕 | 亚洲精品综合在线观看 | 视频在线观看一区 | 日韩一区二区三区在线看 | 色999五月色 | 日韩三级视频在线观看 | 91av亚洲| 久久九九网站 | 亚洲国产色一区 | 一区二区三区免费在线播放 | aaaaaa毛片| 国产在线不卡视频 | 91免费版在线观看 | 国内三级在线观看 | 九草视频在线 | 国产视频在线播放 | 久久爱992xxoo | 免费观看www小视频的软件 | 亚洲免费在线播放视频 | 狠狠狠狠狠狠狠干 | 午夜性生活 | 激情网婷婷 | 91精品在线麻豆 | 粉嫩高清一区二区三区 | 久久五月情影视 | 九九电影在线 | 亚洲人片在线观看 | 亚洲专区在线播放 | 国产探花视频在线播放 | 涩av在线 | 911国产| 久久黄色免费观看 | 日韩欧美电影在线观看 | 亚洲欧洲久久久 | 91麻豆免费视频 | 少妇超碰在线 | 天天爽天天爽 | 国产高清视频在线免费观看 | 国产精品青青 | www久久99| 国产精品video爽爽爽爽 | 波多野结衣在线中文字幕 | 亚洲电影黄色 | 69热国产视频 | 伊人影院得得 | 久草视频中文 | 亚洲精品成人免费 | 亚洲最大激情中文字幕 | 国产无遮挡猛进猛出免费软件 | 在线观看黄av | 中文字幕亚洲国产 | 98精品国产自产在线观看 | av在线专区 | 国产破处在线播放 | 亚洲国产免费看 | 日韩欧美在线观看一区二区三区 | 黄色特级片 | 五月天天av | 二区视频在线 | 国内精品久久久久久中文字幕 | 美女视频永久黄网站免费观看国产 | 一二区av | 免费99精品国产自在在线 | 免费三级黄色片 | 丁香花五月 | 久久人人添人人爽添人人88v | 成人av一区二区兰花在线播放 | 黄网站色视频免费观看 | 国产九九精品视频 | 国产高清福利在线 | 色多多视频在线观看 | 国内成人综合 | 国产亚洲精品成人 | 日韩中文字幕视频在线 | 在线免费观看麻豆视频 | 射射色| 亚洲成人精品久久久 | 国产精品青草综合久久久久99 | 操操操av| 精品视频免费 | 国产 中文 日韩 欧美 | 日本成人黄色片 | 久久久99精品免费观看乱色 | 国产黄色一级片在线 | 日韩区欠美精品av视频 | 亚洲一区二区三区在线看 | 97在线免费观看视频 |