国产乱子伦高清露脸对白-国产精品欧美久久久久天天影视-国产91视频一区-亚洲欧美日产综合在线网-黄视频网站在线看-国产欧美亚洲精品第1页-亚洲www在线-大学生女人三级在线播放-日本在线视频www鲁啊鲁-国产成人精品一区二区仙踪林-69精品欧美一区二区三区-成人欧美亚洲-日本污污网站-中国妞xxxhd露脸偷拍视频-国产精品aⅴ在线观看-精品中文字幕在线

極客小將

您現(xiàn)在的位置是:首頁 » python編程資訊

資訊內(nèi)容

寫一個Python小游戲——四連環(huán)(重力四子棋)

極客小將2021-01-21-
簡介新手學(xué)習(xí)Python,寫第一個Python小游戲——四連環(huán)(重力四子棋)游戲規(guī)則如下:棋盤為8*6玩家輸入列號與電腦下四子棋,棋會隨著重力下降勝利方式是一行/一列/左右斜線連四顆棋子分析:拆分成了這幾個部分,用自定義函數(shù)封裝,便于修改:·初始化·棋盤顯示·玩家輸入·游戲運行·判斷勝利引用庫:rand

erb少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

新手學(xué)習(xí)python,寫第一個Python小游戲——四連環(huán)(重力四子棋)erb少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

游戲規(guī)則如下:erb少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

erb少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

棋盤為8*6erb少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

玩家輸入列號與電腦下四子棋,棋會隨著重力下降erb少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

勝利方式是一行/一列/左右斜線連四顆棋子erb少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

分析:erb少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

拆分成了這幾個部分,用自定義函數(shù)封裝,便于修改:erb少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

·初始化erb少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

·棋盤顯示erb少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

·玩家輸入erb少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

·游戲運行erb少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

·判斷勝利erb少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

引用庫:randomerb少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

第一部分:初始化erb少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

def init():     global board#棋盤,二維列表     global rest_num#每一列剩余棋子數(shù),一維整型列表     global a#先手判定,整型     global reminded_line#未被填滿列的記錄,一維整型列表     global symbol0#執(zhí)棋方記錄1,字典     global symbol1#執(zhí)棋方記錄2,字典     symbol1 = {         "O": "玩家",         "X": "電腦"     }     symbol0 = {         "X": "玩家",         "O": "電腦"     }     a = random.randint(0,2)     reminded_line = [0,1,2,3,4,5,6,7]     board = [["-"] * 8 for i in range(6)]     rest_num = [6 for i in range(8)]     show(board)

這里初始化定義了一些之后用得到的變量erb少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

第二部分:棋盤顯示erb少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

def show(board):     for i in range(6):         for j in range(8):             print(board[i][j],end=" ")         print()

用索引下標的方式遍歷棋盤并打印erb少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

第三部分:玩家輸入erb少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

def playerInput(rest_num):     while True:         inp = int(input()) - 1#注意:列表起始于list[0]         if inp in range(0,8):#符合8列             if rest_num[inp] > 0:#該列有空余                 return inp             else:                 print("輸入錯誤")         else:             print("輸入錯誤")

輸入用While True循環(huán),直到輸入正確erb少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

要判定輸入的列號是否在1-8列內(nèi),且該列有空余!erb少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

第四部分:運行erb少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

先后手問題在主函數(shù)內(nèi)用 if 判斷初始化內(nèi)全局變量a來執(zhí)行不同順序erb少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

四子棋的前三個回合不會分出勝負,因此拆分成前三個回合和剩余回合erb少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

這里可以算多此一舉吧,前三次只是少了判斷勝負erb少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

用 round3_0、round4_0 和 round3_1、round4_1 區(qū)分erb少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

游戲運行使用for次數(shù)循環(huán),勝利提前結(jié)束即可erb少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

def round3_0():     round_cout = 0#回合計數(shù)     for i in range(3):         round_cout += 1#回合+1         print(" ===回合數(shù)"+str(round_cout)+"===")         print(" 電腦")#常規(guī)的面板繪制 #電腦下棋的列號  #這里用從列表隨機是為了不會出現(xiàn)該列已滿無法下棋的情況         robot_line = random.sample(reminded_line,1)[0]         #電腦下棋的行號,記得要-1         #因為重力下落,這里行號就是空余數(shù)量-1         robot_height = rest_num[robot_line] - 1 #電腦下棋         board[robot_height][robot_line] = "O" #該列剩余-1         rest_num[robot_line] -= 1         show(board)#顯示棋盤         print(" 輪到你了:")         player_line = playerInput(rest_num)         player_height = rest_num[player_line] - 1         board[player_height][player_line] = "X"         rest_num[player_line] -= 1         show(board) def round3_1():#同上,只是先后手順序改變     round_cout = 0     for i in range(3):         round_cout += 1         print(" ===回合數(shù)"+str(round_cout)+"===")         print(" 輪到你了:")         player_line = playerInput(rest_num)         player_height = rest_num[player_line] - 1         board[player_height][player_line] = "O"         rest_num[player_line] -= 1         show(board)         print(" 電腦")         robot_line = random.sample(reminded_line,1)[0]         robot_height = rest_num[robot_line] - 1         board[robot_height][robot_line] = "X"         rest_num[robot_line] -= 1         show(board) def round4_0():     round_cout = 3#回合計數(shù)     for i in range(3,24):#共48個棋子,24個回合         round_cout += 1         print(" ===回合數(shù)"+str(round_cout)+"===")         print(" 電腦")         robot_line = random.sample(reminded_line,1)[0]         robot_height = rest_num[robot_line] - 1         board[robot_height][robot_line] = "O"         rest_num[robot_line] -= 1 #如果該列已滿,則在剩余列編號列表中移除,排除隨機到該列         if rest_num[robot_line] == 0:             reminded_line.remove(robot_line)         show(board) #!勝負判定!         IsWinning(board,"O",symbol0)         print(" 輪到你了:")         player_line = playerInput(rest_num)         player_height = rest_num[player_line] - 1         board[player_height][player_line] = "X"         rest_num[player_line] -= 1         if rest_num[robot_line] == 0:             reminded_line.remove(robot_line)         show(board)         IsWinning(board, "X", symbol0)     print("平局!")#**后分不出勝負就是平局 def round4_1():     round_cout = 3     for i in range(3, 24):         round_cout += 1         print(" ===回合數(shù)"+str(round_cout)+"===")         print(" 輪到你了:")         player_line = playerInput(rest_num)         player_height = rest_num[player_line] - 1         board[player_height][player_line] = "O"         rest_num[player_line] -= 1         if rest_num[player_line] == 0:             reminded_line.remove(player_line)         show(board)         IsWinning(board, "O", symbol1)         print(" 電腦")         robot_line = random.sample(reminded_line,1)[0]         robot_height = rest_num[robot_line] - 1         board[robot_height][robot_line] = "X"         rest_num[robot_line] -= 1         if rest_num[robot_line] == 0:             reminded_line.remove(robot_line)         show(board)         IsWinning(board, "X", symbol1)     print("平局!")

第五部分:勝利判斷erb少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

詳細解釋判定條件erb少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

勝利有四種情況:橫4、豎4、左斜4、右斜4erb少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

因此繼續(xù)封裝成兩種形式:直線、斜線進行判定erb少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

因為左斜和右斜是關(guān)于棋盤左右對稱的erb少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

這里board_s就是對稱棋盤erb少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

用 [::-1] 進行倒序erb少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

傳入三個參數(shù):棋盤、棋子類型(X/O)、執(zhí)棋方記錄erb少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

def IsWinning(board,chess_type,symbol):     rowIsWinning(board,chess_type,symbol)     leftSlashIsWinning(board,chess_type,symbol)     board_s = []     for i in board:         board_s.append(i[::-1])#左右對稱     leftSlashIsWinning(board_s, chess_type, symbol)

========erb少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

直線判定:erb少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

def rowIsWinning(board,chess_type,symbol): #豎4     for line_no in range(8):         for height_no in range(3):             if board[height_no][line_no] ==                  board[height_no + 1][line_no] ==                  board[height_no + 2][line_no] ==                  board[height_no + 3][line_no] ==                  chess_type:                 print(" 游戲結(jié)束!獲勝的是:" + symbol[chess_type])                 exit(0) #橫4     for height_no in range(6):         for line_no in range(5):             if board[height_no][line_no] ==                  board[height_no][line_no + 1] ==                  board[height_no][line_no + 2] ==                  board[height_no][line_no + 3] ==                  chess_type:                 print(" 游戲結(jié)束!獲勝的是:" + symbol[chess_type])                 exit(0)

首先下標索引遍歷每一列erb少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

然后在每一列判定是否包含4個相同棋子erb少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

每一列得到前三行的棋子,之后再通過列下標不變,行下標遞增獲得四個棋子的坐標erb少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

橫4的判斷同理erb少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

erb少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

========erb少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

難點erb少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

斜線判定:erb少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

斜線分左斜和右斜,左右是對稱的,因此只用一種方法而將另一種判定換成將棋盤對稱的操作erb少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

棋盤也是關(guān)于對角線可以對稱的,也可以左右 + 對角線對稱,從而轉(zhuǎn)換成一種判定方式(棋盤左對角線左方左斜的情況),對棋盤操作統(tǒng)統(tǒng)化成一種erb少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

以下以左斜線判定為例子:erb少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

erb少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

藍色部分無法構(gòu)成斜線,無需考慮erb少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

斜線有一個重要性質(zhì):坐標行號列號均相差正整數(shù)erb少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

因此只需要表示出下方綠色區(qū)域的棋子坐標就可以表示所有斜線:erb少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

(還有一種特殊情況)erb少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

erb少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

只要循環(huán)表示出綠色區(qū)域內(nèi)的坐標 通過行列遞增即可表示斜線:erb少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

erb少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

對于左上區(qū)域的坐標可以發(fā)現(xiàn):erb少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

行號是1-3,而列號是1 ~ 行號erb少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

對于右下區(qū)域: erb少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

行號是4-6,列號是(行號+2) ~ 8erb少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

因此可以使用嵌套for循環(huán)表示erb少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

def leftSlashIsWinning(board,chess_type,symbol):     #表示左上綠色部分     for init_height in range(3):         for init_line in range(init_height + 1):             if board[init_height][init_line] ==                  board[init_height + 1][init_line + 1] ==                  board[init_height + 2][init_line + 2] ==                  board[init_height + 3][init_line + 3] ==                  chess_type:                 print(" 游戲結(jié)束!獲勝的是:" + symbol[chess_type])                 exit(0) #表示右下綠色部分     for init_height in range(3,6):         for init_line in range(init_height+2,8):             if board[init_height][init_line] ==                  board[init_height - 1][init_line - 1] ==                  board[init_height - 2][init_line - 2] ==                  board[init_height - 3][init_line - 3] ==                  chess_type:                 print(" 游戲結(jié)束!獲勝的是:" + symbol[chess_type])                 exit(0) #中間特殊情況     for init_height in range(3):         init_line = init_height +1         if board[init_height][init_line] ==              board[init_height + 1][init_line + 1] ==              board[init_height + 2][init_line + 2] ==              board[init_height + 3][init_line + 3] ==              chess_type:             print(" 游戲結(jié)束!獲勝的是:" + symbol[chess_type])             exit(0)

完整代碼:
erb少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

erb少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

import random def init():     global board     global rest_num     global a     global reminded_line     global symbol0     global symbol1     symbol1 = {         "O": "玩家",         "X": "電腦"     }     symbol0 = {         "X": "玩家",         "O": "電腦"     }     a = random.randint(0,2)     reminded_line = [0,1,2,3,4,5,6,7]     board = [["-"] * 8 for i in range(6)]     rest_num = [6 for i in range(8)]     show(board) def show(board):     for i in range(6):         for j in range(8):             print(board[i][j],end=" ")         print() def IsWinning(board,chess_type,symbol):     rowIsWinning(board,chess_type,symbol)     leftSlashIsWinning(board,chess_type,symbol)     board_s = []     for i in board:         board_s.append(i[::-1])     leftSlashIsWinning(board_s, chess_type, symbol) def rowIsWinning(board,chess_type,symbol):     for line_no in range(8):         for height_no in range(3):             if board[height_no][line_no] ==                  board[height_no + 1][line_no] ==                  board[height_no + 2][line_no] ==                  board[height_no + 3][line_no] ==                  chess_type:                 print(" 游戲結(jié)束!獲勝的是:" + symbol[chess_type])                 exit(0)     for height_no in range(6):         for line_no in range(5):             if board[height_no][line_no] ==                  board[height_no][line_no + 1] ==                  board[height_no][line_no + 2] ==                  board[height_no][line_no + 3] ==                  chess_type:                 print(" 游戲結(jié)束!獲勝的是:" + symbol[chess_type])                 exit(0) def leftSlashIsWinning(board,chess_type,symbol):     for init_height in range(3):         for init_line in range(init_height + 1):             if board[init_height][init_line] ==                  board[init_height + 1][init_line + 1] ==                  board[init_height + 2][init_line + 2] ==                  board[init_height + 3][init_line + 3] ==                  chess_type:                 print(" 游戲結(jié)束!獲勝的是:" + symbol[chess_type])                 exit(0)     for init_height in range(3,6):         for init_line in range(init_height+2,8):             if board[init_height][init_line] ==                  board[init_height - 1][init_line - 1] ==                  board[init_height - 2][init_line - 2] ==                  board[init_height - 3][init_line - 3] ==                  chess_type:                 print(" 游戲結(jié)束!獲勝的是:" + symbol[chess_type])                 exit(0)     for init_height in range(3):         init_line = init_height +1         if board[init_height][init_line] ==              board[init_height + 1][init_line + 1] ==              board[init_height + 2][init_line + 2] ==              board[init_height + 3][init_line + 3] ==              chess_type:             print(" 游戲結(jié)束!獲勝的是:" + symbol[chess_type])             exit(0) def playerInput(rest_num):     while True:         inp = int(input()) - 1         if inp in range(0,8):             if rest_num[inp] > 0:                 return inp             else:                 print("輸入錯誤")         else:             print("輸入錯誤") def round3_0():     round_cout = 0     for i in range(3):         round_cout += 1         print(" ===回合數(shù)"+str(round_cout)+"===")         print(" 電腦")         robot_line = random.sample(reminded_line,1)[0]         robot_height = rest_num[robot_line] - 1         board[robot_height][robot_line] = "O"         rest_num[robot_line] -= 1         show(board)         print(" 輪到你了:")         player_line = playerInput(rest_num)         player_height = rest_num[player_line] - 1         board[player_height][player_line] = "X"         rest_num[player_line] -= 1         show(board) def round3_1():     round_cout = 0     for i in range(3):         round_cout += 1         print(" ===回合數(shù)"+str(round_cout)+"===")         print(" 輪到你了:")         player_line = playerInput(rest_num)         player_height = rest_num[player_line] - 1         board[player_height][player_line] = "O"         rest_num[player_line] -= 1         show(board)         print(" 電腦")         robot_line = random.sample(reminded_line,1)[0]         robot_height = rest_num[robot_line] - 1         board[robot_height][robot_line] = "X"         rest_num[robot_line] -= 1         show(board) def round4_0():     round_cout = 3     for i in range(3,24):         round_cout += 1         print(" ===回合數(shù)"+str(round_cout)+"===")         print(" 電腦")         robot_line = random.sample(reminded_line,1)[0]         robot_height = rest_num[robot_line] - 1         board[robot_height][robot_line] = "O"         rest_num[robot_line] -= 1         if rest_num[robot_line] == 0:             reminded_line.remove(robot_line)         show(board)         IsWinning(board,"O",symbol0)         print(" 輪到你了:")         player_line = playerInput(rest_num)         player_height = rest_num[player_line] - 1         board[player_height][player_line] = "X"         rest_num[player_line] -= 1         if rest_num[robot_line] == 0:             reminded_line.remove(robot_line)         show(board)         IsWinning(board, "X", symbol0)     print("平局!") def round4_1():     round_cout = 3     for i in range(3, 24):         round_cout += 1         print(" ===回合數(shù)"+str(round_cout)+"===")         print(" 輪到你了:")         player_line = playerInput(rest_num)         player_height = rest_num[player_line] - 1         board[player_height][player_line] = "O"         rest_num[player_line] -= 1         if rest_num[player_line] == 0:             reminded_line.remove(player_line)         show(board)         IsWinning(board, "O", symbol1)         print(" 電腦")         robot_line = random.sample(reminded_line,1)[0]         robot_height = rest_num[robot_line] - 1         board[robot_height][robot_line] = "X"         rest_num[robot_line] -= 1         if rest_num[robot_line] == 0:             reminded_line.remove(robot_line)         show(board)         IsWinning(board, "X", symbol1)     print("平局!") #程序入口 if __name__ == "__main__":     init()     if a == 1:         round3_1()         round4_1()     else:         round3_0()         round4_0()


游戲截圖:
erb少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

erb少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

預(yù)約試聽課

已有385人預(yù)約都是免費的,你也試試吧...

国产乱子伦高清露脸对白-国产精品欧美久久久久天天影视-国产91视频一区-亚洲欧美日产综合在线网-黄视频网站在线看-国产欧美亚洲精品第1页-亚洲www在线-大学生女人三级在线播放-日本在线视频www鲁啊鲁-国产成人精品一区二区仙踪林-69精品欧美一区二区三区-成人欧美亚洲-日本污污网站-中国妞xxxhd露脸偷拍视频-国产精品aⅴ在线观看-精品中文字幕在线

        欧美日韩在线成人| 亚洲第一狼人区| av7777777| 99久久激情视频| 午夜免费福利视频在线观看| 精品综合久久久久| 青青视频免费在线观看| 欧美一区二区视频在线播放| 日韩av片在线看| 天天干天天草天天| www.亚洲视频.com| 久久精品视频91| 日本精品免费视频| 欧美在线一区视频| 色一情一区二区| 91午夜在线观看| av在线网址导航| 日韩国产一级片| 欧美国产日韩另类| 亚洲人精品午夜射精日韩| www.日日操| 国内少妇毛片视频| 久久99999| a天堂资源在线观看| www.久久久精品| 欧美精品卡一卡二| 在线免费观看av网| 亚洲美免无码中文字幕在线| 色91精品久久久久久久久| 在线观看av的网址| 熟妇人妻无乱码中文字幕真矢织江| 色中文字幕在线观看| 能在线观看的av网站| 日韩a级黄色片| 免费av不卡在线| 国模杨依粉嫩蝴蝶150p| 国产精品视频二| 国产精品夜夜夜爽张柏芝| 国产裸体免费无遮挡| 日本黄xxxxxxxxx100| 欧美美女性视频| 妺妺窝人体色www在线小说| av动漫在线播放| 日本不卡一区二区在线观看| 青青视频在线播放| 又大又硬又爽免费视频| 精产国品一二三区| 中文字幕 欧美日韩| 日本美女高潮视频| 无码人妻丰满熟妇区毛片18| 免费观看国产精品视频| 中文字幕国产高清| 久久这里只有精品23| 99精品一级欧美片免费播放| 日韩少妇内射免费播放18禁裸乳| 亚洲热在线视频| 国产麻豆电影在线观看| 午夜av中文字幕| www.色就是色.com| 免费精品99久久国产综合精品应用| 黄色一级大片在线观看| 已婚少妇美妙人妻系列| 日日碰狠狠躁久久躁婷婷| 天天夜碰日日摸日日澡性色av| www.男人天堂网| 黄网站色视频免费观看| 欧美中日韩在线| www.射射射| 男人天堂999| 成年人在线看片| 亚洲综合欧美在线| 色偷偷中文字幕| 精品无码av无码免费专区| 亚洲啊啊啊啊啊| 日韩小视频在线播放| 午夜精品久久久久久久无码| 国内自拍在线观看| 黄色片久久久久| www.久久av.com| 男人草女人视频| 精品无码一区二区三区在线| 国产又大又硬又粗| 99热一区二区| 97久久国产亚洲精品超碰热| 欧美日韩一道本| 成年人免费大片| 老司机av福利| 欧美日韩在线一| 老司机久久精品| 久久手机在线视频| 密臀av一区二区三区| 大桥未久一区二区三区| 很污的网站在线观看| 色婷婷成人在线| 国产精品视频二| 欧美精品性生活| www.好吊操| 亚洲最大成人在线观看| 人妻无码一区二区三区四区| 国产精品99久久免费黑人人妻| 中文字幕66页| www一区二区www免费| 亚洲第一精品区| 欧美日韩大尺度| a级免费在线观看| 在线观看日本www| 精品国产成人av在线免| www.69av| 伊人色在线视频| 国产成人综合一区| 欧美视频在线观看网站| 最新黄色av网站| 色综合天天色综合| 国产黄色一级网站| 国产精品视频网站在线观看| 国产欧美一区二| 一区二区在线播放视频| 97碰在线视频| 中文字幕在线乱| 精品亚洲视频在线| 九热视频在线观看| 国产肥臀一区二区福利视频| 欧美成人精品免费| 白白操在线视频| 韩国一区二区在线播放| 日本激情综合网| 手机在线看福利| 国产裸体舞一区二区三区| 国产va亚洲va在线va| av中文字幕av| 中文字幕第三区| 福利网在线观看| 九九九九九国产| 九九九九九九九九| 99re6在线观看| 在线观看免费av网址| 黄色三级视频在线| 成人在线激情网| 成人免费视频久久| 色片在线免费观看| 国产精品视频黄色| 亚洲国产高清av| 蜜桃福利午夜精品一区| 国产又粗又猛大又黄又爽| 伊人国产精品视频| 久久久久久久久影视| 免费国产成人看片在线| 国产内射老熟女aaaa| 996这里只有精品| 国产一区二区三区小说| 各处沟厕大尺度偷拍女厕嘘嘘| 欧美成人免费高清视频| 亚洲精品一二三四五区| 老司机久久精品| 免费在线黄网站| 日韩欧美精品在线观看视频| 性刺激的欧美三级视频| 性欧美在线视频| 久久久久99精品成人片| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 久久综合久久色| 伊人五月天婷婷| 欧美大片在线播放| 国产精品v日韩精品v在线观看| 国产精品久久久久久9999| 大陆极品少妇内射aaaaaa| 欧美精品自拍视频| 天天影视综合色| 美女av免费观看| www.日日操| 超碰超碰超碰超碰超碰| 男女视频一区二区三区| 国产成人免费高清视频| 日韩av在线综合| 欧美 国产 精品| 男女男精品视频站| 91国在线高清视频| 8x8x最新地址| 久久精品无码中文字幕| xx欧美撒尿嘘撒尿xx| 国产av熟女一区二区三区| 91极品视频在线观看| 香港三级韩国三级日本三级| 波多野结衣网页| 好男人www社区| 国产妇女馒头高清泬20p多| 国产美女18xxxx免费视频| 久久久久久久久久网| 五月天av在线播放| 日本毛片在线免费观看| 红桃一区二区三区| 久热精品在线观看视频| 人妻少妇精品无码专区二区 | 亚欧在线免费观看| 久久99久久久久久| 天天爱天天做天天操| 鲁一鲁一鲁一鲁一av| a√天堂在线观看| av日韩在线看| 激情五月五月婷婷|