久久伊人一区二区三区四区-久久伊人影视-久久伊人影院-久久伊人中文字幕-亚洲成在人色婷婷-亚洲大成色www永久网

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機構(gòu)

手機站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時隨地免費學(xué)

千鋒教育

掃一掃進入千鋒手機站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時隨地免費學(xué)習(xí)課程

當前位置:首頁  >  技術(shù)干貨  > 用Python+OpenCV實現(xiàn)自動掃雷

用Python+OpenCV實現(xiàn)自動掃雷

來源:千鋒教育
發(fā)布人:xqq
時間: 2023-11-07 17:45:58 1699350358

相信許多人很早就知道有掃雷這么一款經(jīng)典的游(顯卡測試)戲(軟件),更是有不少人曾聽說過中國雷圣,也是中國掃雷第一、世界綜合排名第二的郭蔚嘉的頂頂大名。掃雷作為一款在Windows9x時代就已經(jīng)誕生的經(jīng)典游戲,從過去到現(xiàn)在依然都有著它獨特的魅力:快節(jié)奏高精準的鼠標操作要求、快速的反應(yīng)能力、刷新紀錄的快感,這些都是掃雷給雷友們帶來的、只屬于掃雷的獨一無二的興奮點。

一.準備

準備動手制作一套掃雷自動化軟件之前,你需要準備如下一些工具/軟件/環(huán)境

-開發(fā)環(huán)境

1.Python3環(huán)境-推薦3.6或者以上[更加推薦Anaconda3,以下很多依賴庫無需安裝]

2.numpy依賴庫[如有Anaconda則無需安裝]

3.PIL依賴庫[如有Anaconda則無需安裝]

4.opencv-python

5.win32gui、win32api依賴庫

6.支持Python的IDE[可選,如果你能忍受用文本編輯器寫程序也可以]

-掃雷軟件

·MinesweeperArbiter(必須使用MS-Arbiter來進行掃雷!)

好啦,那么我們的準備工作已經(jīng)全部完成了!讓我們開始吧~

二.實現(xiàn)思路

在去做一件事情之前最重要的是什么?是將要做的這件事情在心中搭建一個步驟框架。只有這樣,才能保證在去做這件事的過程中,盡可能的做到深思熟慮,使得最終有個好的結(jié)果。我們寫程序也要盡可能做到在正式開始開發(fā)之前,在心中有個大致的思路。

對于本項目而言,大致的開發(fā)過程是這樣的:

完成窗體內(nèi)容截取部分

完成雷塊分割部分

完成雷塊類型識別部分

完成掃雷算法

好啦,既然我們有了個思路,那就擼起袖子大力干!

1.窗體截取

其實對于本項目而言,窗體截取是一個邏輯上簡單,實現(xiàn)起來卻相當麻煩的部分,而且還是必不可少的部分。我們通過Spy++得到了以下兩點信息:

class_name="TMain"

title_name="MinesweeperArbiter"

·ms_arbiter.exe的主窗體類別為"TMain"

·ms_arbiter.exe的主窗體名稱為"MinesweeperArbiter"

注意到了么?主窗體的名稱后面有個空格。正是這個空格讓筆者困擾了一會兒,只有加上這個空格,win32gui才能夠正常的獲取到窗體的句柄。

本項目采用了win32gui來獲取窗體的位置信息,具體代碼如下:

hwnd=win32gui.FindWindow(class_name,title_name)

ifhwnd:

left,top,right,bottom=win32gui.GetWindowRect(hwnd)

通過以上代碼,我們得到了窗體相對于整塊屏幕的位置。之后我們需要通過PIL來進行掃雷界面的棋盤截取。

我們需要先導(dǎo)入PIL庫:

fromPILimportImageGrab

然后進行具體的操作。

left+=15

top+=101

right-=15

bottom-=43

rect=(left,top,right,bottom)

img=ImageGrab.grab().crop(rect)

聰明的你肯定一眼就發(fā)現(xiàn)了那些奇奇怪怪的MagicNumbers,沒錯,這的確是MagicNumbers,是我們通過一點點細微調(diào)節(jié)得到的整個棋盤相對于窗體的位置。

注意:這些數(shù)據(jù)僅在Windows10下測試通過,如果在別的Windows系統(tǒng)下,不保證相對位置的正確性,因為老版本的系統(tǒng)可能有不同寬度的窗體邊框。

橙色的區(qū)域是我們所需要的

好啦,棋盤的圖像我們有了,下一步就是對各個雷塊進行圖像分割了~

2.雷塊分割

在進行雷塊分割之前,我們事先需要了解雷塊的尺寸以及它的邊框大小。經(jīng)過筆者的測量,在ms_arbiter下,每一個雷塊的尺寸為16px*16px。

知道了雷塊的尺寸,我們就可以進行每一個雷塊的裁剪了。首先我們需要知道在橫和豎兩個方向上雷塊的數(shù)量。

block_width,block_height=16,16

blocks_x=int((right-left)/block_width)

blocks_y=int((bottom-top)/block_height)

之后,我們建立一個二維數(shù)組用于存儲每一個雷塊的圖像,并且進行圖像分割,保存在之前建立的數(shù)組中。

defcrop_block(hole_img,x,y):

x1,y1=x*block_width,y*block_height

x2,y2=x1+block_width,y1+block_height

returnhole_img.crop((x1,y1,x2,y2))

blocks_img=[[0foriinrange(blocks_y)]foriinrange(blocks_x)]

foryinrange(blocks_y):

forxinrange(blocks_x):

blocks_img[x][y]=crop_block(img,x,y)

將整個圖像獲取、分割的部分封裝成一個庫,隨時調(diào)用就OK啦~在筆者的實現(xiàn)中,我們將這一部分封裝成了imageProcess.py,其中函數(shù)get_frame()用于完成上述的圖像獲取、分割過程。

3.雷塊識別

這一部分可能是整個項目里除了掃雷算法本身之外最重要的部分了。筆者在進行雷塊檢測的時候采用了比較簡單的特征,高效并且可以滿足要求。

defanalyze_block(self,block,location):

block=imageProcess.pil_to_cv(block)

block_color=block[8,8]

x,y=location[0],location[1]

#-1:Notopened

#-2:Openedbutblank

#-3:Uninitialized

#Opened

ifself.equal(block_color,self.rgb_to_bgr((192,192,192))):

ifnotself.equal(block[8,1],self.rgb_to_bgr((255,255,255))):

self.blocks_num[x][y]=-2

self.is_started=True

else:

self.blocks_num[x][y]=-1

elifself.equal(block_color,self.rgb_to_bgr((0,0,255))):

self.blocks_num[x][y]=1

elifself.equal(block_color,self.rgb_to_bgr((0,128,0))):

self.blocks_num[x][y]=2

elifself.equal(block_color,self.rgb_to_bgr((255,0,0))):

self.blocks_num[x][y]=3

elifself.equal(block_color,self.rgb_to_bgr((0,0,128))):

self.blocks_num[x][y]=4

elifself.equal(block_color,self.rgb_to_bgr((128,0,0))):

self.blocks_num[x][y]=5

elifself.equal(block_color,self.rgb_to_bgr((0,128,128))):

self.blocks_num[x][y]=6

elifself.equal(block_color,self.rgb_to_bgr((0,0,0))):

ifself.equal(block[6,6],self.rgb_to_bgr((255,255,255))):

#Ismine

self.blocks_num[x][y]=9

elifself.equal(block[5,8],self.rgb_to_bgr((255,0,0))):

#Isflag

self.blocks_num[x][y]=0

else:

self.blocks_num[x][y]=7

elifself.equal(block_color,self.rgb_to_bgr((128,128,128))):

self.blocks_num[x][y]=8

else:

self.blocks_num[x][y]=-3

self.is_mine_form=False

ifself.blocks_num[x][y]==-3ornotself.blocks_num[x][y]==-1:

self.is_new_start=False

可以看到,我們采用了讀取每個雷塊的中心點像素的方式來判斷雷塊的類別,并且針對插旗、未點開、已點開但是空白等情況進行了進一步判斷。具體色值是筆者直接取色得到的,并且屏幕截圖的色彩也沒有經(jīng)過壓縮,所以通過中心像素結(jié)合其他特征點來判斷類別已經(jīng)足夠了,并且做到了高效率。

在本項目中,我們實現(xiàn)的時候采用了如下標注方式:

1-8:表示數(shù)字1到8

9:表示是地雷

0:表示插旗

-1:表示未打開

-2:表示打開但是空白

-3:表示不是掃雷游戲中的任何方塊類型

通過這種簡單快速又有效的方式,我們成功實現(xiàn)了高效率的圖像識別。

4.掃雷算法實現(xiàn)

這可能是本篇文章最激動人心的部分了。在這里我們需要先說明一下具體的掃雷算法思路:

1)遍歷每一個已經(jīng)有數(shù)字的雷塊,判斷在它周圍的九宮格內(nèi)未被打開的雷塊數(shù)量是否和本身數(shù)字相同,如果相同則表明周圍九宮格內(nèi)全部都是地雷,進行標記。

2)再次遍歷每一個有數(shù)字的雷塊,取九宮格范圍內(nèi)所有未被打開的雷塊,去除已經(jīng)被上一次遍歷標記為地雷的雷塊,記錄并且點開。

3)如果以上方式無法繼續(xù)進行,那么說明遇到了死局,選擇在當前所有未打開的雷塊中隨機點擊。(當然這個方法不是最優(yōu)的,有更加優(yōu)秀的解決方案,但是實現(xiàn)相對麻煩)

基本的掃雷流程就是這樣,那么讓我們來親手實現(xiàn)它吧~

首先我們需要一個能夠找出一個雷塊的九宮格范圍的所有方塊位置的方法。因為掃雷游戲的特殊性,在棋盤的四邊是沒有九宮格的邊緣部分的,所以我們需要篩選來排除掉可能超過邊界的訪問。

defgenerate_kernel(k,k_width,k_height,block_location):

ls=[]

loc_x,loc_y=block_location[0],block_location[1]

fornow_yinrange(k_height):

fornow_xinrange(k_width):

ifk[now_y][now_x]:

rel_x,rel_y=now_x-1,now_y-1

ls.append((loc_y+rel_y,loc_x+rel_x))

returnls

kernel_width,kernel_height=3,3

#Kernelmode:[Row][Col]

kernel=[[1,1,1],[1,1,1],[1,1,1]]

#Leftborder

ifx==0:

foriinrange(kernel_height):

kernel[i][0]=0

#Rightborder

ifx==self.blocks_x-1:

foriinrange(kernel_height):

kernel[i][kernel_width-1]=0

#Topborder

ify==0:

foriinrange(kernel_width):

kernel[0][i]=0

#Bottomborder

ify==self.blocks_y-1:

foriinrange(kernel_width):

kernel[kernel_height-1][i]=0

#Generatethesearchmap

to_visit=generate_kernel(kernel,kernel_width,kernel_height,location)

我們在這一部分通過檢測當前雷塊是否在棋盤的各個邊緣來進行核的刪除(在核中,1為保留,0為舍棄),之后通過generate_kernel函數(shù)來進行最終坐標的生成。

defcount_unopen_blocks(blocks):

count=0

forsingle_blockinblocks:

ifself.blocks_num[single_block[1]][single_block[0]]==-1:

count+=1

returncount

defmark_as_mine(blocks):

forsingle_blockinblocks:

ifself.blocks_num[single_block[1]][single_block[0]]==-1:

self.blocks_is_mine[single_block[1]][single_block[0]]=1

unopen_blocks=count_unopen_blocks(to_visit)

ifunopen_blocks==self.blocks_num[x][y]:

mark_as_mine(to_visit)

在完成核的生成之后,我們有了一個需要去檢測的雷塊“地址簿”:to_visit。之后,我們通過count_unopen_blocks函數(shù)來統(tǒng)計周圍九宮格范圍的未打開數(shù)量,并且和當前雷塊的數(shù)字進行比對,如果相等則將所有九宮格內(nèi)雷塊通過mark_as_mine函數(shù)來標注為地雷。

defmark_to_click_block(blocks):

forsingle_blockinblocks:

#NotMine

ifnotself.blocks_is_mine[single_block[1]][single_block[0]]==1:

#Click-able

ifself.blocks_num[single_block[1]][single_block[0]]==-1:

#SourceSyntax:[y][x]-Converted

ifnot(single_block[1],single_block[0])inself.next_steps:

self.next_steps.append((single_block[1],single_block[0]))

defcount_mines(blocks):

count=0

forsingle_blockinblocks:

ifself.blocks_is_mine[single_block[1]][single_block[0]]==1:

count+=1

returncount

mines_count=count_mines(to_visit)

ifmines_count==block:

mark_to_click_block(to_visit)

掃雷流程中的第二步我們也采用了和第一步相近的方法來實現(xiàn)。先用和第一步完全一樣的方法來生成需要訪問的雷塊的核,之后生成具體的雷塊位置,通過count_mines函數(shù)來獲取九宮格范圍內(nèi)所有雷塊的數(shù)量,并且判斷當前九宮格內(nèi)所有雷塊是否已經(jīng)被檢測出來。

如果是,則通過mark_to_click_block函數(shù)來排除九宮格內(nèi)已經(jīng)被標記為地雷的雷塊,并且將剩余的安全雷塊加入next_steps數(shù)組內(nèi)。

#Analyzethenumberofblocks

self.iterate_blocks_image(BoomMine.analyze_block)

#Markallmines

self.iterate_blocks_number(BoomMine.detect_mine)

#Calculatewheretoclick

self.iterate_blocks_number(BoomMine.detect_to_click_block)

ifself.is_in_form(mouseOperation.get_mouse_point()):

forto_clickinself.next_steps:

on_screen_location=self.rel_loc_to_real(to_click)

mouseOperation.mouse_move(on_screen_location[0],on_screen_location[1])

mouseOperation.mouse_click()

在最終的實現(xiàn)內(nèi),筆者將幾個過程都封裝成為了函數(shù),并且可以通過iterate_blocks_number方法來對所有雷塊都使用傳入的函數(shù)來進行處理,這有點類似Python中Filter的作用。

之后筆者做的工作就是判斷當前鼠標位置是否在棋盤之內(nèi),如果是,就會自動開始識別并且點擊。具體的點擊部分,筆者采用了作者為"wp"的一份代碼(從互聯(lián)網(wǎng)搜集而得),里面實現(xiàn)了基于win32api的窗體消息發(fā)送工作,進而完成了鼠標移動和點擊的操作。

以上內(nèi)容為大家介紹了用Python+OpenCV實現(xiàn)自動掃雷,希望對大家有所幫助,如果想要了解更多Python相關(guān)知識,請關(guān)注多測師。http://www.jun-ho.cn/xwzx/


聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學(xué)習(xí)老師24小時內(nèi)將與您1V1溝通
免費領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
主站蜘蛛池模板: 亚洲国产精品成人精品无码区在线 | 国产精品扒开腿做爽爽爽| 好深好湿好硬顶到了好爽| 精品久久久久久无码人妻热| 日本一区二区在线播放| 成人精品视频一区二区| 余年周婉小说全文免费阅读完整版| 强奷乱码中文字幕熟女导航| 亚洲AV无码国产在丝袜线观看| 成年美女黄网站色大片免费看 | 久久久久久亚洲精品无码| 精品人妻一区二区三区四区九九| 国产成人久久AV免费高潮| 精品熟女AV少妇免费久久自慰| 日本少妇自慰高清喷浆| 余年周婉小说全文免费阅读完整版 | 美女高潮20分钟视频在线观看| 国产成人亚洲精品青草| 免费的看片APP| 成人毛片女人18女人免费| 午夜私人电影院在线观看| 人人妻人人爽人人澡人人少妇 | 亚洲熟妇色自偷自拍另类| 国产精品亚洲一区二区三区| 成人免费A级毛片久久| 国产成人愉拍免费视频| 丰满人妻熟妇乱又伦精品视| 久久久久久九九精品久| 亚洲VA欧美VA国产VA综合| 小SAO货都湿掉奶头好硬男女 | 欧美亚洲国产成人一区二区三区| 夜色毛片永久免费| 秋霞电影网免费观看| 久久国产精品无码HDAV| 好男人无码内射AV| 人人爽人人模人人人爽人人爱| 无码人妻精品一区二区三区66| 草莓视频APP下载| 人妻无码AⅤ中文字幕日韩| 人妻夜夜添夜夜无码AV| 成熟人妻视频一区区三区| 成人免费A级毛片久久| 国产FREEXXXX性麻豆| 内射中出无码护士在线| 亚洲AV无码1区2区久久| 成在线人免费无码高潮喷水| 精品推荐国产AV剧情| 日韩精品无码一本二本三本| 天美传媒国产电视推荐| 亚洲AⅤ无码日韩AV中文AV伦| 国精一二二产品无人区免费应用| 野花高清中文免费观看视频| 嗯啊WW免费视频网站| 少妇被躁C至高潮HD| 免费一对一真人视频| 毛很浓密超多黑毛的少妇| 久久久久久精品免费免费R| 亚洲 日韩 丝袜 熟女 变态| 女人无遮挡无内衣内裤网站| 国产成人精品一区二三区在线观看| 久久66热人妻偷产精品9| 又粗又大又硬又爽的少妇毛片| 色视频WWW在线播放国产人成 | 我的少妇邻居全文免费| 无码人妻精品一区二区三区99仓| 午夜爽爽爽男女免费观看影院| 久久精品国产久精国产果冻传媒| 日本做受高潮好舒服视频| 亚洲AV无码一区二区三区观看| 性欧美极品XXXX欧美一区二区| 中国西西大胆女人裸体艺术| 小奶瓶(产奶)沈姜| 娇小6一8XXXXX| 欧美亚洲熟妇少妇性A爱| 久久国产成人午夜AV影院| 丰满少妇高潮惨叫久久久| 少妇人妻偷人精系列| 中文国产成人精品久久水蜜桃 | 欧洲美熟女乱又伦免费视频| 免费A级毛片在线播放不收费| 中国老太毛茸茸XXXXHD| 国产精品VIDEOS麻豆| 久久精品伊人一区二区三区| 日日摸夜夜添夜夜添亚洲女人 | 国产亚洲欧美日韩亚洲中文色| 成人无码H动漫在线网站樱花| 狠狠干2015最新版| 秋霞国产午夜伦午夜无码灬| 非洲黑人妇女XXXXXHD| 久久精品影视免费观看| 国产福利在线 | 传媒| 成人无码区免费A∨直播| 亚洲AⅤ无码日韩AV中文AV伦| 五十老熟女高潮嗷嗷叫| 好男人日本社区WWW| 豆国产97在线 | 亚洲| 丰满人妻被公侵犯日本| 公粗挺进了我的密道在线观看| 一面亲上边一面膜的免费| 欧美亚洲国产成人一区二区三区| 亚洲AV午夜福利精品一区二区| 香港经典A毛片免费观看变态| 无码AV免费一区二区三区四区| 丰满的女房东6剧情| 国产裸拍裸体女网站链接在线观看 | 成熟丰满熟妇强av无码区| 青草国产超碰人人添人人碱| 国产成人年无码AV片在线观看| 国产成人片AⅤ在线观看| 中文国产成人精品久久水蜜桃 | 国产旡码高清一区二区三区| 伊人久久大香线蕉AV网| 狠狠五月激情六月丁香| 国产AV成人一区二区三区高清 | 国产乱人伦偷精品视频免 | 永久免费观看美女裸体的网站| 私人影院家庭影院| 蜜桃av一区二区三区| 成人年无码AV片在线观看| 成人网站亚洲二区乱码| 欧美XXXXX高潮喷水麻豆| 无码人妻精品一区二区三区99不卡| 久久不见久久见免费视频3| 亚洲 日韩 欧美 成人 在线| 年级老师的滋味4| 秋霞鲁丝片AⅤ无码入口| 国产一区二区三区久久精品| 亚洲AV无码一区二区二三区下载| 欧妇女乱妇女乱视频| 欧美裸体XXXX| 国产精品久久久久久吹潮| 人妻少妇无码专视频在线| 精品久久久久久无码人妻热| 纯肉无遮挡H肉动漫在线观看网址| 国产女人喷潮视频在线观看| 青青国产揄拍视频| 小寡妇一夜要了六次| 国产精品无码久久AV不卡| 他的舌头探进蜜源毛毛虫说说| 久久久久久精品免费无码| 丰满人妻一区二区三区视频53| 无套内谢孕妇毛片免费看| 九九电影网午夜理论片| 国产精品成人VA在线播放| 黑人又大又粗又长欧美网站| 丰满爆乳一区二区三区| 久久精品国产99国产精品导航 | 天天爽夜夜爽人人爽QC| 国产精品嫩草影院永久…| 玩弄JaPan白嫩少妇一区二区 | 嫩BBB槡BBBB搡BBBB| 无码视频免费一区二三区| 中文毛片无遮挡高潮免费| 欧美丰满熟妇人妻兽交视频| 国模无码人体一区二区| 成人午夜免费无码福利片| 中文无码乱人伦中文视频播放 | 国产精品第20页| 国产在线孕妇孕交| 内射少妇骚B一√| 久久久久久精品免费免费R| 又粗又硬又大又爽免费视频播放| 女人扒开屁股桶爽6O分钟| 日本一道综合久久AⅤ久久| 九九99久久精品国产| 日本多人强伦姧人妻完整版| 国产成人亚洲精品青草| 色综合AV综合无码综合网站| 精品日本一区二区三区免费| 伊人丁香狠狠色综合久久| 大胆GOGO高清在线观看| 国产裸拍裸体女网站链接在线观看| 人妻少妇看A偷人无码精品视频| 在线欧美精品一区二区三区 | 中文字幕人妻互换AV久久| 极品无码AV国模在线观看| 色天使色偷偷色噜噜| 美女扒开腿让男人桶爽网站| 亚洲中文久久精品无码照片| 少妇人妻精品一区二区三区| 经典国产乱子伦精品视频| 国产又粗又猛又爽又黄的网站| 午夜成人亚洲理论片在线观看| 女人18片毛片60分钟| 寂寞视频一对一视频APP| 久久夜色精品国产噜噜噜亚洲AV| 人妻少妇无码专视频在线| 国产精品成人VA在线播放| 精品少妇人妻Av免费久久农村| 日日碰日日摸夜夜爽无码| 国产成人一区二区三区免费| 国产精品无码久久久久| 国产日韩AV免费无码一区二区三| 岳女二人名器共侍一夫的出处| 东京热加勒比视频一区| 极品新婚夜少妇真紧| 性欧美极品XXXX欧美一区二区| 久久精品熟女亚州AV麻豆| 日产2021免费一二三四| 未满十八18禁止免费无码网站| 又粗又硬又大又爽免费视频播放| 国内精品久久影院综合日日| 欧美亚洲日韩国产区三| 女刑警被两个黑人挺进| 日韩一区无码视频| 国产精品白浆无码流出视频| 国产成人精品无码片区在线观看| 日韩精品久久久久久久电影蜜臀| 中文字幕AV日韩精品一区二区 | 中文无码AV电影在线观看网站| 亚洲VA欧美VA国产VA综合| 日本最新高清一区二区三| 娇喘连连抽搐高潮小说| 无码熟妇人妻AV在线影片免费| 精品一区二区三区不卡少妇av| 下面饿了想吃大香肠| 人妻少妇精品无码专区| 亚洲AV自慰白浆喷水网站| 狠狠色综合网久久久久久| 亚洲AV午夜成人片动漫番| 日韩人妻OL丝袜AV一二区| 日产精品久久久久久久| 国产美女丝袜一级肛交蜜桃| 丰满人妻熟妇乱又伦精品视| 中文字幕人妻被公上司喝醉| 欧美黑人乱猛交xX 乂500| 差差差不多视频30分钟轮滑| 国产精品成人VA在线观看| 毛很浓密超多黑毛| 色视频综合无码一区二区三区| 内射少妇骚B一√| 黑人上司粗大拔不出来电影| 国色天香在线观看全集免费播放| 亚洲VA欧美VA国产VA综合| 嗯啊开小嫩苞好深啊H视频| 日本狂喷奶水在线播放212| 唔嗯啊欧美一级作爱网站| 国产一产二产三精华液| 日本XXXX裸体XXXX| 无人区码一码二码三码在线 | 他的舌头探进蜜源毛毛虫说说 | 亚洲AV无码国产精品色午夜字幕| 亚洲VA欧美VA国产VA综合| 一边做饭一边躁狂怎么办 | 蜜桃AV一区二区三区| 毛很浓密超多黑毛的少妇| 午夜亚洲国产理论片亚洲2020| 人人妻人人澡人人爽人人爱看| 国产亚洲一区二区手机在线观看| 破了亲妺妺的处免费视频国产| 欧美 丝袜 自拍 制服 另类 | 国内偷自第一区二区三区| 成人无码AV网站在线观看| 亚洲AV永久无码天堂网| 破了亲妺妺的处免费视频国产| 无码人妻AV一区二区三区蜜臀| 西方137大但人文艺术| 在线成本人国语视频动漫| 色视频WWW在线播放国产人成| 无线乱码A区B区C区| 国产精品亚洲第一区焦香味| 无码YY4800亚洲私人影院| 国产精品亚洲专区无码破解版| 日韩AV影院在线观看| 日韩精品无码AV成人观看| 人善交VIDEOS欧美3D| 无码中文字幕AV免费放DVD| 好男人日本社区WWW| 国产公妇仑乱在线观看| 国产精品无码素人福利| 中国老妇XXXX性开放| 日本XXXX裸体XXXX自慰| 日本XXXXXXXXX69| 国产粗语刺激对白ⅩXX| 中文字幕人妻互换AV久久| 蜜桃Av噜噜一区二区三区网址| 欧美熟老妇人多毛OOXⅩ| 草莓 丝瓜 香蕉 向日葵 榴莲| 亚洲综合成人婷婷五月网址| 全球AV集中精品导航福利| 国产精品成人影院在线观看| 久久婷婷五月综合色D啪| 欧美 亚洲 国产 日韩 综AⅤ| 久久综合给合久久狠狠狠97色| 无码专区狠狠躁天天躁| 中文字幕人妻被公上司喝醉| 国产精品国产三级国产AⅤ| 国产69久久精品成人看| 久久久久久老熟妇人妻av| 国产精品无码久久久久| 日韩AV影院在线观看| 国产精品JIZZ在线观看无码| 无码成人H动漫在线网站| 国内精品久久久人妻中文字幕 | 纯肉无遮挡H肉动漫在线观看3D| 国产午夜亚洲精品理论片八戒| 丰满丝袜熟女HD| 内地丰满浓密老熟女露脸对白| 在线观看韩国电影| 日产精品久久久久久久| 宅男噜噜噜66网站在线观看| 色既是空在线观看| 中文无码不卡中文字幕| 国产美女丝袜一级肛交蜜桃| 丰满的人妻沦为玩物在线| 岳潮湿的大肥梅开二度第三部最新 | 在线播放亚洲第一字幕| 纯肉无遮挡H肉动漫在线观看国产| 欧美精品亚洲精品日韩传电影| 色欲网久久久久久久久久久久久久| 精品深夜av无码一区二区老年| 成人无码AⅤ在线播放| 宝贝乖女你的奶真大水真多| 色哟哟在线视频精品一区| 亲孑伦视频一区二区三区| 道德沦丧一家3口小说| 狠狠色狠狠色综合久久| 秋霞久久国产精品电影院| 久久97精品久久久久久久不卡| 亚洲AV永久无码精品古装片| 成人爽A毛片免费| 国内精品久久久久精免费| 亚洲美女国产精品久久久久久久久| 日韩精品人妻中文字幕有码| 人妻丰满熟妇AV无码区免| 公粗挺进了我的密道在线观看| 粗大猛烈进出高潮视频| 亚洲综合色区另类小说| 丰满圆润大胸在线| 综合无码精品人妻一区二区三区| 久久97精品久久久久久久不卡| 国产精品导航一区二区| 美女高潮20分钟视频在线观看| 亚洲AV综合色区无码二区偷拍| 国产亚洲一区二区手机在线观看| 在线观看韩国电影| 国产精彩乱子真实视频| 玩弄粉嫩少妇高潮出白浆AⅤ| 久久66热人妻偷产精品9| 色综合久久久无码中文字幕波多| 内射少妇骚B一√| 久久99精品久久久久久野外| 人妻 中文无码 中出| 亚洲AV无码一区二区二三区下载| 去部队探亲晚上叫太大声| 中文无码不卡中文字幕| 真实的国产乱ⅩXXX66小说| 无码99久热只有精品视频在线观| 双腿被绑成M型调教PⅠAY照片| 肥臀浪妇太爽了快点再快点| 人妻少妇精品中文字幕av蜜桃| 在卫生间被教官做好爽| 车内挺进尤物少妇紧窄| 国产精品视频色拍拍| 免费下载破解看片APP的软件| 国精产品砖一区二区三区糖心 | 朋友人妻少妇精品系列| 少妇被又大又粗又爽毛片久久黑人| 中国老熟女重囗味HDXX| 国产精品9999久久久久| 偷拍区小说区图片区另类呻吟| 春色精品久久久久午夜aⅴ| 在图书馆揉捏她的双乳| 完全着衣の爆乳お姉さんが| 精品影片在线观看的网站| 男人J桶进女人J无遮挡| 亲孑伦一区二区三区| 玩弄粉嫩少妇高潮出白浆AⅤ| 人妻波多野结衣爽到喷水| 私人影院家庭影院| 天天玩天天玩天天玩| 脱岳裙子从后面挺进去| 粗大黑人巨精大战欧美成人| 国产精品白浆无码流出视频| 美女高潮20分钟视频在线观看| 日本适合十八岁以上人群的护肤品| 饭桌上故意张开腿让公H视频| 玩弄丰满少妇XXXXX| 中国孕妇变态孕交XXXX| 韩漫嘿啾漫画进入| 女人爽到高潮的免费视频| 日韩精品人妻中文字幕有码| 美女把尿口扒开让男人桶爽| 屠户家的小娇花哒哒啦爱你| 成人黄网站片免费视频| 天堂BT种子资源在线WWW| 无码AV最新高清无码专区| 日本国产网曝视频在线观看| 少妇特黄Av一区二区三区| 宝贝小嫩嫩好紧好爽H在线视频| 国产日韩AV免费无码一区二区三 | 西西人体午夜大胆无码视频| 宝贝对着镜子CAO好不好| 内射少妇骚B一√| 亚洲色成人中文字幕网站| 漂亮人妻被强中文字幕久久 | 成片人卡1卡2卡3手机免费看| 狠狠躁夜夜躁人人爽超碰97香蕉| 国产一区二区三区自产| 亚洲AV永久无码精品无码网站 | 国产精品妇女一二三区| 久久寂寞少妇成人内射| 玩弄CHINESE丰满人妻VI| 真人作爱试看90分钟免费影视| 成 人 免 费 黄 色 网站无| 亚洲AV永久无码精品无码影片| 亚洲色欲AV无码成人专区| 国产成人牲交在线观看视频| 无码播放一区二区三区| 国产成人精品午夜福利|