国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频

破世界紀錄了0.74秒!用代碼實現(xiàn)自動掃雷!

共 8445字,需瀏覽 17分鐘

 ·

2022-02-21 17:44

來源丨h(huán)ttps://zhuanlan.zhihu.com/p/35755039
文末有送書福利,別錯過啦
用Python+OpenCV實現(xiàn)了自動掃雷,突破世界記錄,我們先來看一下效果吧。

中級 - 0.74秒 3BV/S=60.81


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


0x00 準備


準備動手制作一套掃雷自動化軟件之前,你需要準備如下一些工具/軟件/環(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 [可選,如果你能忍受用文本編輯器寫程序也可以]

- 掃雷軟件

· Minesweeper Arbiter(必須使用MS-Arbiter來進行掃雷?。?/strong>

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

0x01 實現(xiàn)思路


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

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

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

  2. 完成雷塊分割部分

  3. 完成雷塊類型識別部分

  4. 完成掃雷算法

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

- 01 窗體截取


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

class_name = "TMain"title_name = "Minesweeper Arbiter "

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

  • ms_arbiter.exe的主窗體名稱為"Minesweeper Arbiter "

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

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

hwnd = win32gui.FindWindow(class_name, title_name)if hwnd:left, top, right, bottom = win32gui.GetWindowRect(hwnd)

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

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

from PIL import ImageGrab

然后進行具體的操作。

left += 15top += 101right -= 15bottom -= 43
rect = (left, top, right, bottom)img = ImageGrab.grab().crop(rect)

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

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

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

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

- 02 雷塊分割


在進行雷塊分割之前,我們事先需要了解雷塊的尺寸以及它的邊框大小。經(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ù)組中。

def crop_block(hole_img, x, y):        x1, y1 = x * block_width, y * block_height        x2, y2 = x1 + block_width, y1 + block_heightreturn hole_img.crop((x1, y1, x2, y2))
blocks_img = [[0 for i in range(blocks_y)] for i in range(blocks_x)]
for y in range(blocks_y):for x in range(blocks_x): blocks_img[x][y] = crop_block(img, x, y)

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

- 03 雷塊識別


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

def analyze_block(self, block, location):    block = imageProcess.pil_to_cv(block)
block_color = block[8, 8] x, y = location[0], location[1]
# -1:Not opened # -2:Opened but blank # -3:Un initialized
# Openedif self.equal(block_color, self.rgb_to_bgr((192, 192, 192))):if not self.equal(block[8, 1], self.rgb_to_bgr((255, 255, 255))):self.blocks_num[x][y] = -2self.is_started = Trueelse:self.blocks_num[x][y] = -1
elif self.equal(block_color, self.rgb_to_bgr((0, 0, 255))):self.blocks_num[x][y] = 1
elif self.equal(block_color, self.rgb_to_bgr((0, 128, 0))):self.blocks_num[x][y] = 2
elif self.equal(block_color, self.rgb_to_bgr((255, 0, 0))):self.blocks_num[x][y] = 3
elif self.equal(block_color, self.rgb_to_bgr((0, 0, 128))):self.blocks_num[x][y] = 4
elif self.equal(block_color, self.rgb_to_bgr((128, 0, 0))):self.blocks_num[x][y] = 5
elif self.equal(block_color, self.rgb_to_bgr((0, 128, 128))):self.blocks_num[x][y] = 6
elif self.equal(block_color, self.rgb_to_bgr((0, 0, 0))):if self.equal(block[6, 6], self.rgb_to_bgr((255, 255, 255))): # Is mineself.blocks_num[x][y] = 9 elif self.equal(block[5, 8], self.rgb_to_bgr((255, 0, 0))): # Is flagself.blocks_num[x][y] = 0else:self.blocks_num[x][y] = 7
elif self.equal(block_color, self.rgb_to_bgr((128, 128, 128))):self.blocks_num[x][y] = 8else:self.blocks_num[x][y] = -3self.is_mine_form = False
if self.blocks_num[x][y] == -3 or not self.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)了高效率的圖像識別。

- 04 掃雷算法實現(xiàn)


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

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

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

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

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

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

def generate_kernel(k, k_width, k_height, block_location):
ls = [] loc_x, loc_y = block_location[0], block_location[1]
for now_y in range(k_height):for now_x in range(k_width):if k[now_y][now_x]: rel_x, rel_y = now_x - 1, now_y - 1 ls.append((loc_y + rel_y, loc_x + rel_x))return ls
kernel_width, kernel_height = 3, 3
# Kernel mode:[Row][Col] kernel = [[1, 1, 1], [1, 1, 1], [1, 1, 1]]
# Left borderif x == 0:for i in range(kernel_height): kernel[i][0] = 0
# Right borderif x == self.blocks_x - 1:for i in range(kernel_height): kernel[i][kernel_width - 1] = 0
# Top borderif y == 0:for i in range(kernel_width): kernel[0][i] = 0
# Bottom borderif y == self.blocks_y - 1:for i in range(kernel_width): kernel[kernel_height - 1][i] = 0
# Generate the search map to_visit = generate_kernel(kernel, kernel_width, kernel_height, location)

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

def count_unopen_blocks(blocks):    count = 0for single_block in blocks:if self.blocks_num[single_block[1]][single_block[0]] == -1:            count += 1return count
def mark_as_mine(blocks):for single_block in blocks:if self.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)if unopen_blocks == self.blocks_num[x][y]: mark_as_mine(to_visit)

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

def mark_to_click_block(blocks):for single_block in blocks:
# Not Mineif not self.blocks_is_mine[single_block[1]][single_block[0]] == 1:# Click-ableif self.blocks_num[single_block[1]][single_block[0]] == -1:
# Source Syntax: [y][x] - Convertedif not (single_block[1], single_block[0]) in self.next_steps:self.next_steps.append((single_block[1], single_block[0]))
def count_mines(blocks): count = 0for single_block in blocks:if self.blocks_is_mine[single_block[1]][single_block[0]] == 1: count += 1return count
mines_count = count_mines(to_visit)
if mines_count == block: mark_to_click_block(to_visit)

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

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

# Analyze the number of blocksself.iterate_blocks_image(BoomMine.analyze_block)
# Mark all minesself.iterate_blocks_number(BoomMine.detect_mine)
# Calculate where to clickself.iterate_blocks_number(BoomMine.detect_to_click_block)
if self.is_in_form(mouseOperation.get_mouse_point()):for to_click in self.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的作用。

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

筆者的記錄

項目完整代碼/GitHub地址:https://github.com/ArtrixTech/BoomMine

?END?

贈書福利

贈送新書深入淺出Python量化交易實戰(zhàn)共5本,剛剛上架!由「?清華大學(xué)出版社」贊助提供?,感興趣的朋友推薦入手一本。


本書主要以國內(nèi)A股市場為例,借助第三方量化交易平臺,講述了KNN、線性模型、決策樹、支持向量機、樸素貝葉斯等常見機器學(xué)習(xí)算法在交易策略中的應(yīng)用,同時展示了如何對策略進行回測,以便讓讀者能夠有效評估自己的策略。

另外,本書還講解了自然語言處理(NLP)技術(shù)在量化交易領(lǐng)域的發(fā)展趨勢,并使用時下熱門的深度學(xué)習(xí)技術(shù),向讀者介紹了多層感知機、卷積神經(jīng)網(wǎng)絡(luò),以及長短期記憶網(wǎng)絡(luò)在量化交易方面的前瞻性應(yīng)用。

同樣這次準備了2種方式抽獎,「評論點贊、朋友圈點贊」這兩種方式都可以參與!感謝親愛的讀者們,你們的支持也是我持續(xù)更文最大的動力。

本次開獎時間為 2022.2.19 14:00

為了避免中獎后失聯(lián),提前加我微信號:itcodexy 。

留言點贊(2本)
留言點贊數(shù)「第一、二名」可獲得一本深入淺出Python量化交易實戰(zhàn)
PS:買點贊數(shù)等作弊無效,一切解釋權(quán)歸程序IT圈所有,留言點贊之前中過獎的朋友,1年內(nèi)不得再參與,給新朋友一些機會 ?。ń?jīng)常發(fā)現(xiàn)點贊中獎的總是那些熟悉的面孔)

朋友圈點贊抽獎(3本)

記得先添加我微信,不然參加不了這個朋友圈活動 。
大獎:本文章我會轉(zhuǎn)發(fā)朋友圈,給第n位(具體數(shù)值看朋友圈發(fā)布時的規(guī)則)點贊朋友圈的同學(xué)送出一本?深入淺出Python量化交易實戰(zhàn),共2位。

瀏覽 46
點贊
評論
收藏
分享

手機掃一掃分享

分享
舉報
評論
圖片
表情
推薦
點贊
評論
收藏
分享

手機掃一掃分享

分享
舉報

感谢您访问我们的网站,您可能还对以下资源感兴趣:

国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频 欧美不卡在线视频| 日本欧美在线观看高清| 色色毛片| 午夜av在线免费观看| 亚洲精品成人av| 亚洲成人视频网站| 少妇视频一区| 中文字幕乱码亚洲无线码按摩| 北条麻妃在线观看| 日韩成人影视| 久久午夜无码鲁丝午夜精品| 泄火熟妇2-ThePorn| 在线无码电影| 成功精品影院| 探花在线播放| 人人操干| 欧美激情爱爱| 日韩不卡高清在线观看视频| 色婷婷在线视频| 天堂中文字幕| 大茄子熟女AV导航| 狠狠躁日日躁夜夜躁A片男男视频| 人人av在线| 日本特级黄色毛片| 日本黄色视频网址| 国产操逼网站| 亚洲高清在线观看视频| 天天色天天日天天干| NP玩烂了公用爽灌满视频播放| 午夜亚洲AⅤ无码高潮片苍井空| 午夜日韩乱伦| 伊人大香蕉在线观看| 黑人人妻黑人ThePorn| 中文字幕在线观看视频免费| MAD033_后宫秘密陶子.| 99热在线看| AV高清| 男女免费av| 亚洲无码免费视频| 农村A片婬片AAA毛片| 免费a视频在线观看| 日韩人妻AV| 亚洲黄色免费看| 天天操操操| 91成人精品一区二区| 国产av中文| 看免费操逼视频| 亚洲一二期视频| 国产在线资源| 99亚洲视频| 国产精品视频在线免费观看| a片在线观看免费| 欧美成人无码片免费看A片秀色| 亚洲女人视频| 国产一级片电影| 国产成人精品久久二区二区91| 色婷婷电影网| 亚洲精品一区中文字幕乱码 | 在线观看视频免费无码| 日AV在线无| 日本免费爱爱视频| AV婷婷五月天| 免费v在线观看| 久久久久久无码视频| 伊人青草视频9| 亚洲第一网站| 丁香六月婷婷综合| 欧美黄色性爱视频| 欧美日韩A| 欧美三级欧美成人高清| 人人上人人干| 伊人色综合网| 日韩操逼一区| 在线观看av网站中文字幕| 99久久99| 国产精品久久久久永久免费看| 国产av黄色| 亚洲免费小视频| 搡中国东北老女人视频| 在线免费看黄色视频| 人人爱人人摸人人操| 看免费黄色视频| 久久午夜无码鲁片午夜精品男男 | 中文字幕在线无码视频| 日本天天色| 免费无码婬片A片AA片| 国产日本在线视频| 91丨九色丨蝌蚪丨肥女| 亚洲中文字幕在线观看视频网站| 国产福利视频| 亚洲成人影片| 国产在线激情| 丰满人妻一区二区三区免费| 欧美亚洲日韩一区| 北条麻妃九九九精品视频免费观看| 无码精品人妻一区二区欧美| 成年人性生活免费视频| 国产骚逼视频| 黄网在线观看视频| 日本三级AAA三级AAAA97 | 激情六月天| 无码AV在线播放| 一起操在线| 在线乱视频| 五月天黄色电影网站| 亚洲日韩中文字幕无码| 午夜av免费| 久久爱91| 国产激情123区| 中国熟女视频| 色天堂视频在线观看| 欧美国产日韩欧美亚洲国产| 黄色一区在线| 国产一区二区三区在线观看免费视频免费视频免费视频 | 成人理伦A级A片在线论坛| 婷婷五月天激情电影| 天天草视频| 在线播放亚洲| 东京热久久综合| 国产欧美日韩在线播放| 亚洲欧洲无码视频| 波多野结衣在线观看一区二区 | 黑人猛躁白人BBBBBBBBB| 国产在线观看欧美| 欧美色图在线观看| 大香蕉75| 日韩无码一区二区三区| 欧美日韩中国操逼打炮| 在线免费人成视频| 欧美性爱一级视频| 成人在线观看无码| 日韩免费Av| 麻豆成人无码| 先锋久久资源| 免费看一区二区三区A片| 午夜高清| 18禁亚洲| 先锋影音av资源网| 无码视频免费在线观看| 超碰自拍| 亚洲九九| 国产欧美综合视频| 日韩乱伦毛片| 999国产精品视频| 麻豆精品在线播放| 大屌色片| 亚洲免费中文字幕| 亚洲av观看| 日韩一区二区无码| 色老板网站| 五月久久| 99热在线免费观看| AV大香蕉| 北条麻妃一区二区三区在线观看| 奇米影视色偷偷| 成人抽插视频| 久在草| 日韩无码电影| 欧美国产中文| 九色91PORNY国产| 天天操夜夜爱| 中文在线观看免费视频| 日韩在线成人中文字幕亚洲| 无码电影免费观看| 国产午夜精品一区二区| 老司机一区二区三区| 亚洲区成人777777精品| 黑人巨大翔田千里AⅤ| 国产黄色电影在线| 日韩欧美性爱视频| 无码国产精品一区二区视频| 亚洲一区二区成人| 国产在线观看免费| 另类小说五月天| 一本道中文字幕| 玖玖资源在线| 五夜福利成人视频| 精品无码久久久久久久久app| 日日碰狠狠躁久久躁婷婷| 北岛玲丝袜办公室高跟| 国产小电影在线观看| 夜夜AV| 国产喷潮| 国产无遮挡又黄又爽又色视频软件| 三级爱爱| 久久色播| 久肏| 无码人妻一区二区一牛影视| 777AV| 插菊花综合网亚洲| 欧美视频自拍| 99做爱| 中国一级黄色毛片| 人人妻人人操人人| 国产乱妇乱子伦视频免费观看| 欧美五月在线网址| 肉色超薄丝袜脚交一区二区| 亚洲第一成年人网站| 熟女人妻ThePorn| 少妇高潮无码| 噜噜色色噜噜| 人妻夜夜爽天天爽三区麻豆AV网站| 天天撸天天干天天日| 久操电影网| 丰滿人妻-区二区三区| 欧美成人三级精品| 亚洲免费一区二区| 国产又粗又猛又黄又爽无遮挡| 亚洲在线成人| 我要操影院| 美女黄片| 不卡二区| 丝袜制服中文字幕无码专区| 夜夜天天人人| 91porn在线观看| a天堂8在线资源| 激情AV在线| 免费av网站| 国产欧美在线免费观看| 人与禽一级A片一区二区三区| 中文字幕在线免费看线人| 三级a片| 久久久一区二区三区四区免费听| 岛国无码破解AV在线播放| 久久久久99精品成人网站| 一级黄色片免费看| 色天堂色男人| 岛国AV免费在线| 91丨露脸丨熟女抽搐| AV三级片在线观看| 色视频在线观看| 日韩无码一区二区三| 欧美色图另类图片| 91麻豆精品91久久久ios版| 北条麻妃中文字幕在线| 久久人人做| XXXX国产| 一级特黄色| 成年人黄色网址| 久久永久免费精品人妻专区| 亚洲男女内射| 91大香蕉视频| 亚洲h| 大奶一区二区| 操逼视频在线免费看| 天天日夜夜草| 国产三级在线播放| 91精品酒店视频| 成人网中文字幕| 91导航| 日日爽夜夜爽| 中文字幕一二三| 另类老妇性BBwBBw图片| 成人做爰黄AA片免费看三区| 狠狠干综合| 欧美成人福利视频| 男女无套在线观看免费| 夜夜嗨AV一区二区三区| 国产一区二区不卡| 高潮91PORN蝌蚪九色| 日韩欧美中文字幕在线视频 | 夜夜爽7777精品国产三级| 91人妻人人爽人人澡人人爽| 亚洲天堂无码视频| 操人| 特一级黄片| 大香蕉久热| 成人免费视频在线观看| 成人久久久久久| AA片视频| 婷婷久久五月| 国产香蕉在线播放| 中文字幕无码在线观看视频| www亚洲无码| 国产91视频| 欧美韩日一区二区| 日韩精品一区二区在线观看| 3D动漫啪啪精品一区二| 成人资源站| 国产五月天婷婷| 黄色小视频免费观看| 国产欧美一区二区三区视频| 日韩中文字幕国产| 婷婷五月天小说| 欧美干| 色视频网| 国产av日韩| 99热精品在线播放| 亚洲中文字幕在线观看免费| AV大片在线观看| 精品免费国产一区二区三区四区| 97人人艹| 人人摸天天| 大香蕉1024| 久久青| 久久久一级| 精品亚洲一区二区三区四区五区| 中文精品字幕人妻熟女| 欧美一级夜夜爽| 免费黄片在线| 国产一级a毛一级a毛视频在线网站 | 国产人人看| 夜色321| 少妇搡BBBB搡BBB搡造水多/ | 欧美成人精品欧美一级私黄| 亚洲免费MV| 啊啊啊啊啊在线观看| 亚洲加勒比在线| 人妻无码一二三区免费| 99黄网| 日韩免费高清无码| 在线观看免费高清无码| 成人丁香| 水蜜桃视频网站| 国产成人小电影| 午夜99| 韩国GOGOGO高清| 中文在线A∨在线| 午夜激情视频网站| 精品AV无码一区二区三区| 秋霞福利影院| 人人爽人人干| 老鸭窝久久| 黄片小视频在线观看| 日韩一区二区三区四区| 四虎成人精品永久免费AV九九| 97色色五月天| 青吴乐大香蕉| 色网站操逼| 少妇搡BBBB搡BBB搡澳门| 三级av网站| 国产精品乱子伦一区二区三区视频| 99久久久成人国产精品| 国产乱子伦真实精品!| 亚洲无码精品在线观看| 亚洲精品一区中文字幕乱码| 探花在线综合| www.四虎成人网站| 91久久人澡人妻人人澡人人爽| 无码人妻精品一区二区三千菊电影| 中文字幕视频在线免费观看| 中文字幕35页| 国产天堂| japanese在线观看| 欧美在线黄色| 伊人三级片| 91成人| 午夜AV免费| 色婷婷一区二区三区久久午夜| 99热免费| 亚洲五区| 少妇大战28厘米黑人| xxx一区二区| 成人亚洲电影| 久久国产热在8| 河南熟妇搡BBBB搡BBBB| 黄色一区二区三区| 视色AV| 成人视频一区二区| 无码三级在线播放| 亚洲日韩一级片| 成人a级网站| 五月丁香视频在线观看| 日韩视频在线观看免费| 高清无码视频免费版本在线观看| 欧美操逼视频网站| 日韩成人AV在线播放| 性生活黄色视频| 五月婷婷俺來也| 午夜神马影院| 国产激倩都市一区二区三区欧美 | 一区二区三区四区在线视频| 国产精品视频久久久| 尤物视频网站在线观看| 蜜桃av一区二区三区| 少妇高潮av久久久久久| 三级片网站在线播放| 91双飞会所双飞在线| 内射| 亚洲九九九| 在线观看老湿视频福利| 日韩在线视频免费观看| 欧美色图888| 婷婷伊人綜合中文字幕小说| 亚洲天堂大香蕉| 2025精品偷拍视频| 欧美成人三级在线播放| 国产成人一区二区| 国产一区在线看| 北条麻妃在线无码| ThePorn精品无码| 综合天堂AV久久久久久久| 日韩高清无码观看| 北条麻妃久久| 又色又爽| 看毛片网站| 乱伦激情| 在线不卡免费Av| 美女极度色诱图片www视频| 亚洲国产熟妇综合色专区| 亚洲精品国偷拍自产在线观看蜜桃 | 亚洲AV无码乱码国产精品| 超碰成人在线观看| 日本午夜无码| 成人无码视频| 国产农村妇女精品一二区| a网站免费观看| 男人天堂新地址| 青娱乐在线成人| 手机在线观看AV| 蜜桃视频91| 黄色AV免费| 亚洲色香蕉| 青青草视频在线免费观看| 囯产精品一区二区三区AV做线 | 中文字幕乱码视频32| 一本色道久久综合狠狠躁的推荐 | 无码免费在线观看视频| 亚洲中文字幕电影| 人人妻人人要| 日韩无码高清免费视频| 操逼电影网| 911国产视频| 网站你懂得| 怡春院在线视频| 色婷婷亚洲| 视频一区二区三| 日韩AA视频| 91视频久久久| 妞干网国产| 日本a在线| 亚洲小穴| 豆花精品视频| 香蕉操逼视频| 少妇久久久久久久久久| 免费国产视频| 免费国产三级片| 亚洲色在线播放| 国产熟妇毛多久久久久一区| 性欧美xxxx| 先锋影音av在线| 国产成人午夜高潮毛片| 亚洲AV在线人妻| 无码秘人妻一区二区三-百度| 色老板在线精品免费观看| 老女人毛片| 91av导航| 91九色蝌蚪| 一本色道久久综合无码人妻软件| 粉嫩一区二区三区四区| 国产淫语| 亚洲天堂无| 青娱乐国产| 久久只有精品| av操操操| 不卡中文字幕| 婷婷五月天性爱| 日韩黄色电影在线免费观看| jizz国产精品| 国产精品操逼网站| 91亚洲电影| 日韩免费中文字幕A片| 黄色一级aa片| 韩国无码一区二区三区| 五月丁香激情在线| 久操视频在线观看| 农村一级婬片A片AAA毛片古装 | 综合色婷婷一区二区亚洲欧美国产 | 亚洲视频在线观看| 特级西西444WWW视频| 国产精品久久一区二区三区影音先锋| 欧美黄网站| 欧美a区| 91AV免费看| www.yw尤物| 天天爽天天摸| 无码精品一区二区三区在线播放| 爆草美女| 十八禁网站在线播放| 99热在线观看| 国产成人无码一区二区| 大香蕉中文视频| 日韩一级黄色电影| 91在线无码精品秘入口国战| 色老久久| 少妇精品| 成人精品无码免费视频| 亚洲婷婷在线视频| 兔子先生和優奈玩游戲脫衣服,運氣報表優奈輸到脫精光 | 欧美中文字幕| 国产免费操逼| 五月天婷婷在线观看| 久久久久99精品成人片三人毛片| 久久精品禁一区二区三区四区五区 | 欧美爱爱视屏| 日韩欧美三级| 中文字幕在线观看视频免费| 日日夜夜天天综合| 国产欧美一区二区精品性色超碰| 内射视频免费观看| 涩涩视频成人| mm131亚洲国产精品久久| 国产精品人妻AⅤ在线看| 一级少女免费播放电视剧韩剧TV| 亚洲图片在线播放| 乱婬妺妺躁爽A片| 91在线无码精品秘入口男同 | WWW.豆花视频精品| 欧美一二区| 国产视频第一页| 一级色色| 影音先锋人妻限定| 三级片麻豆| 婷久久久| 亚洲午夜影院在线| 中文字幕第一页在线| 91久久国产综合久久91精品网站 | 在线中文字幕网站| 亚洲欧美成人电影| 欧美自拍第一页| 久久精品禁一区二区三区四区五区 | 久久A√一区二区| 无码一区二区三区免费| 91国产视频在线观看| 性BBW| 欧美福利电影| 91香蕉视频18| 日批免费网站| 91九色网| www.黄色av| 韩国GOGOGO高清| 国产三级电影在线观看| 日韩三级一区| 无码人妻精品一区二区蜜桃网站| 韩国GOGOGO高清| 久久视频免费| 草草视频在线观看| 黄色片视频日韩| 国产在线欧美在线| 天天看天天射| 精品无码人妻一区二区| 天天干91| 人人人妻人人人操| 黄片视频免费看| 日本乱伦中文字幕| 亚洲激情无码视频| www九九| 夜夜骑婷婷91| 99re视频在线| 欧美又大又粗| 亚洲精品女人| WW免费视频| 亚洲黄色视频网站| 大香伊人中文字幕精品| 澳门午夜| 六月综合激情| 成人片成人网久久蜜桃臀| 黑人Av| 婷婷五月天网| 美日韩在线| 天天操人人爽| 黑人干亚洲人| 人人妻人人澡人人爽人人| 爱搞搞网| 亚洲日韩欧美中在线| 大香蕉AV电影| 99久久国内精品成人免费| 色香蕉视频| 中文字幕乱码中文字幕| 亚洲色图五月天| 先锋久久资源| 黑人内射人妖| 麻豆免费成人传媒| 免费av在线播放| 俄罗斯白嫩BBwBBwBBw91| 亚洲成人黄色在线| 亚洲日色| 色哟哟一区二区三区| 黄色AV网| 亚洲人妻影院| 久久久久久久久毛片| 丝袜东京热AV高清| 伊人黄色| www.91久久| 韩日中文字幕| 亚洲精品美女| 自拍欧美亚洲| 一级乱伦网站| 婷婷开心色四房播播免费| 天天操综合网| 懂色av,蜜臀AV粉嫩av| 国产嫩草精品A88AV| 北条麻妃JUX-869无码播放| 无码在线专区| 欧美日韩免费在线视频| 亚洲美女喷水视频| 奇米狠狠干| 国产黄色在线免费观看| 人人摸人人插| 在线免费观看网站| 狠狠色五月| 日本一区二区三区四区在线观看 | 国产精品久久视频| 日韩视频精品| 婷婷精品国产一区二区三区日韩| 东北操逼视频| 91aV视频| 一本色道久久综合亚洲怎么玩| 老太奶性BBwBBw侧所| 91av视频在线观看| 欧美A视频| 91精品大屁股白浆自慰久久久| 中文字幕高清无码在线观看| H片免费在线观看| 国产在线看| 日韩欧美a片| 色色丁香五月天| 3级片网站| 伊人网站| 亚洲欧美性爱| 三级小说| 99精品在线免费观看| 亚洲高清无码在线播放| 美女免费网站| 在线免费观看网站| 看免费黄色视频| 国产免费av在线| 欧美第一视频| 日韩三级视频在线观看| 天天综合字幕一区二区| 夜夜骑婷婷91| 91蜜桃婷婷狠狠久久综合9色| 色网在线| 中文字幕亞洲高清手機版第617| 中文字幕免费视频在线观看| 日韩在线一级| 99er在线视频| 亚洲性爱在线视频| 亚洲男女免费视频| 豆花视频一区二区| 欧美日韩性色无码免费| 日韩免费性爱视频| 天天爱夜夜爱| 国产女人18毛片水真多18| 麻豆午夜福利| 大香蕉亚洲成人| 国产成人AV免费观看| 91成人无码| 欧美在线播放| 看操逼视频| 成人免费毛片AAAAAA片| 欧美日韩免费看| 在线无码人妻| 成人免费视频18| 成人网站免费在线观看| 免费高潮视频| 精品91视频| 亚洲熟妇在线| 亚洲无码资源| 无码伦理| 亚洲伊人综合| 人人看人人色| 日本内射在线播放| 国产欧美日韩视频| 日韩在线观看中文字幕| 日日操人人操| 中文字幕免费在线观看视频| 丁香综合网| 亚洲精品国产精品国自产A片同性| 国产精品美女久久久久久久久| 激情麻豆| 闺蜜AV| gogogo免费高清在线偷拍| 色婷婷官网| 日韩无码黄色片| 99视频色| 好吊AV| 成人手机AV| 2019中文字幕在线| 五月天婷婷在线无码| 九七色色电影| 秋霞精品一区二区三区| 亚洲天堂人妻少妇| 色色色色色色网站| 精品福利一区二区三区| 操b免费| 免费看一级高潮毛片| 午夜精品18码视频国产17c| 99精品六月婷婷综合在线| avcom无码| 中日美朝美女一级片免费看| 91麻豆免费看| 日韩精品一区二区三| 日韩美女免费性爱视频| 精品无码一区二区三区四区久久久软件| 亚洲性爱专区| 日韩欧美视频一区国产欧美在线| 親子亂子倫XXXX| 99热6| 亚洲五月六月| 女人BBBB| 麻豆国产91| 免费在线观看一区| 逼逼爱| 曰曰摸日日碰| 91成人在线播放| 日韩欧美精品| 成人欧美精品区二区三| 二区在线观看| 黄色A片在线观看| 狠狠撸在线观看| 九哥操逼视频| 日韩A片在线观看| 亚洲高清在线视频| 成人一级片| 在线综合国产欧美| 午夜免费播放观看在线视频| 黑人av在线观看| 三级不卡视频| 91国产精品在线视频| 手机看片1024你懂的| 91无码一区二区三区| 日韩中文字幕在线人成网站| 二区不卡| 欧洲亚洲免费视频| 亚洲最新中文字幕| 91成人视频在线播放| 色五月激情五月| 日日夜夜精品| 五月婷婷色欲| 亚洲无码伊人| jlzz18| 99爱精品| 亚洲三级在线视频| 浮力影院欧美| 黄片一区二区三区| 日韩动态图| 国产日韩欧美| 日韩精品一区二区三区四在线播放| 亚洲高潮| 日本一级婬片A片免费播放一| 黄片网址大全| www免费视频在线观看播放| 91人妻人人爽人人澡人人爽| 国产在线拍偷自揄拍无码一区二区 | 人妻黑人一区二区三区| 强伦轩一区二区三区在线观看| 婷婷国产精品视频| 韩国三级av| 精品人妻二区中文字幕| 黄色无码网站| 国产高清自拍| 999成人电影| 国产精品久久77777| 天天草视频| 中文字幕在线不卡视频| 国产精品无码天天爽视频| 国产精品无码永久免费不卡 | 国产嫩苞又嫩又紧AV在线| WWWA片| 国产成人精品一区二三区熟女在线 | 精品国产一| 亚洲免费看黄| JULIA超乳JULIA无码| 91丨国产丨精品丨丝袜| 国产精品色哟哟| 韩日无码| 欧美精产国品一| 一级黄片免费视频| 97久久精品| 欧美中文字幕在线播放| 在线免费观看黄色片| 91av在线看| 中文字幕人妻精品一区| 久久久无码AV| 91人妻人人澡人人添人人爽| 毛片黄色| 欧美成人A| 九九99久久| JlZZJLZZJlZZ亚洲女人17| 国产主播AV| 俺来俺也去www色在线观看| 亚洲精品色图| 狠狠干在线视频| 高清无码免费在线观看| 乱子伦一区二区三区视频在线观看| 日韩无码黄色视频| 在线欧美日韩| 97人妻天天摸天天爽天天| 一本色道久久综合熟妇| 久久三级视频| 亚洲伦理一区二区| 日本黄色免费在线观看| 亚洲视频一区二区三区四区娇小视频在线观看视频 | 嘉兴少妇按摩69XX| 潮喷av| 国产无遮挡又黄又爽又色学生软件| 狠狠干五月| 久9久9久9久9久9久9| 91亚洲精品视频在线| 日韩欧美国产精品| 无码福利| 国产剧情一区二区av在线观看| 操逼操逼操逼操逼操逼操逼| 中文熟妇| 色婷婷AV一区二区三区之e本道 | 日韩精品免费观看| 江苏妇搡BBBB搡BBBB| 国产免费一区二区三区免费视频| 亚洲日韩在线视频观看| 中文字幕高清| 一区二区三区网| 欧美性爱小说| 性爱一级视频| 日本在线一级| A片在线观看免费| 国产高清视频在线观看| 国产AV自拍-久| 丁香花免费高清视频小说完整| 国产女人18毛片水真多成人如厕| 无码av免费精品一区二区三区| 国产av影院| 亚洲av性爱| 精品一区二区三区四区五区六区七区八区九区 | 国产三级一区| 国产毛片久久久久久久| www国产精品| 欧美性爱在线观看| 91网在线观看| 人人操人人摸人人爽| 国产内射无码| 99热国产精品| 亚洲av小电影| 天天干天天天天| 日本中文字幕在线播放| 婷婷一区二区| 亚洲国产av一区| 日韩免费AV电影| 一本高清无码| 男女拍拍拍| 中文字幕亚洲人妻| 97AV人妻无码视频二区| 中文字幕在线不卡| 一级黄色大毛片| 午夜美女福利视频| 免费看操片| 丁香六月激情| AV1区二区| 国产成人精品777777| 蜜桃av色偷偷av老熟女| 国产免费AV片在线无码免费看| 18精品爽视频| 热99在线| av无码网站| 人人操人人操人人操人人操人人操 | 亚洲AV色香蕉一区二区三区| 成人婷婷五月天| JiZZjiZZ亚洲成熟熟妇| 久久精品一区二区三区四区五区| 免费看黄色录像| 奇米97| 免费黄色在线视频| 亚洲三级片免费观看| 四川少妇bbbbbbbbb| 学生妹一级J人片内射视频| 高清无码免费在线视频| 黄片网站在线免费观看| 91精品国产aⅴ一区二区| 黄色片免费| 囯产一级黄片| 日韩av高清| 亚洲日本欧美| 欧美精品18videosex性欧美| 91精品久久久久久久久久久久| 亚洲中文字幕高清| 亚洲精品一区二区二区的游戏情况 | 看免费操逼视频| 91黄色在线观看| 无码一区二区三| 免费av播放| av在线观看中文字幕| 大香蕉视频在线观看| 久久久久亚洲AV无码成人片| 北条麻妃在线不卡| 三级视频在线播放| 双腿张开被9个男人调教| 狠狠躁18三区二区一区免费人| 伊人干综合| 热久久最新地址| 另类色综合| 中文字幕不卡| 蜜桃久久精品成人无码AV| 欧美A黄| 豆花视频在线观看| 日本免费在线黄色视频| 国产精品日韩无码| 超碰在线| 国产一区二区不卡亚洲涩情| 亚洲精品在线看| 日本视频网|