久久精品国产精品国产精品污,男人扒开添女人下部免费视频,一级国产69式性姿势免费视频,夜鲁夜鲁很鲁在线视频 视频,欧美丰满少妇一区二区三区,国产偷国产偷亚洲高清人乐享,中文 在线 日韩 亚洲 欧美,熟妇人妻无乱码中文字幕真矢织江,一区二区三区人妻制服国产

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

pygame快乐游戏编程模块

發布時間:2024/4/24 综合教程 38 生活家
生活随笔 收集整理的這篇文章主要介紹了 pygame快乐游戏编程模块 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Python菜鳥快樂游戲編程_pygame(博主錄制,2K分辨率,超高清)

https://study.163.com/course/courseMain.htm?courseId=1006188025&share=2&shareId=400000000398149

(原創聲明,轉載引用需要指明來源)

游戲編程模塊pygame介紹

pygame是一組旨在編寫視頻游戲的Python模塊。Pygame可以使用python語言創建功能齊全的游戲和多媒體程序。Pygame具有高度的可移植性,幾乎可以在所有平臺和操作系統上運行。Pygame至今已被下載了數百萬次。Pygame非常流行的一個原因是免費。 根據LGPL許可證發布的內容,您可以使用它創建開源,免費軟件,共享軟件和商業游戲。Pygame歷史開始于2000年10月。六個月后發布了pygame 1.0版。pygame的目標是使可視化游戲編程變得簡單。 pygame是Python和SDL混合的產物。 SDL由Sam Lantinga創建,與DirectX相比,SDL是用于控制多媒體的跨平臺C庫。它已用于數百種商業和開源游戲。

迫不及待的想用pygame寫一個自己的游戲了嗎?用pip install pygame安裝此模塊吧。

pygame官網

學員查詢pygame模塊基礎語法最好方法是訪問官方文檔,網址為

https://www.pygame.org/docs/ref/surface.html

pygame模塊最常用的對象包括:頂層pygame包,顏色, 顯示,繪畫,事件,字體,圖片,鍵盤,鼠標,常量, 多媒體,矩形, 表面,時間,音樂

高級對象包括:游標,游戲桿, 圖像蒙版,精靈,轉換,計算機字體, 繪制形狀,重疊式展示,像素陣列,像素復制,數學

其他對象包括:相機,音頻CDROM控制,例子,事件和隊列交互, 快速事件,剪貼板支持,測試,觸摸,版本。

pygame 包是可供使用的最頂層的包。Pygame 被分成許多子模塊,但是并不會影響程序使用 Pygame。

pygame常見函數如下:

pygame.init() — 初始化所有導入的 pygame 模塊

pygame.quit() — 卸載所有導入的 pygame 模塊

pygame.error() — 標準 pygame 異常模塊

pygame.get_error() — 獲得當前錯誤信息

pygame.set_error() — 設置當前錯誤信息

pygame.get_sdl_version() — 獲得 SDL 的版本號

pygame.get_sdl_byteorder() — 獲得 SDL 的字節順序

pygame.register_quit() — 注冊一個函數,這個函數將在 pygame 退出時被調用

pygame.encode_string() — 對 unicode 或字節對象編碼

pygame.encode_file_path() — 將 unicode 或字節對象編碼為文件系統路徑

pygame常用對象為

pygame.Surface表面

pygame.draw繪圖

pygame.font字體

pygame.image圖片

pygame.sprite精靈

pygame.transform轉換

pygame.event事件

pygame.time時間

pygame.mixer.Sound聲音

Pygame語法比較多,且pygame不支持互動shell,不能一行行執行命令,因此最好學習方式是結合游戲實戰編程。我們先用10行代碼就完成第一個pygame游戲窗口,順便了解pygame最主要的語法。

首先輸入import pygame,sys導入具有所有可用pygame模塊的包和系統模塊。

pygame.display.set_mode()游戲窗口設置

初始化游戲窗口
set_mode(size=(0, 0), flags=0, depth=0, display=0) -> Surface

size參數是一對數字,代表寬度和高度。 flags參數是其他選項的集合。

depth參數代表用于顏色的位數。顏色位數范圍range is {8...32},通常最好不要傳遞depth參數。對于系統,它將默認為最佳和最快的顏色深度。如果您的游戲需要特定的顏色格式,則可以使用此參數控制深度。 Pygame將模擬不可用的顏色深度,該深度可能很慢。

如果我們想要讓游戲窗口在顯示器上全屏展示,我們用pygame.FULLSCREEN對象。
windowSurface=pygame.display.set_mode((WINDOWWIDTH,WINDOWHEIGHT),pygame.FULLSCREEN)

顏色color

pygame.locals

此模塊包含pygame使用的各種常量。 它的內容會自動放置在pygame模塊的命名空間中。 但是,應用程序可以使用pygame.locals僅包含pygame.locals import *的pygame常量。

Event對象有一個名為type的成員變量(member variable,也叫作屬性,attributes或properties),它告訴我們對象表示何種事件。針對pygame.locals模塊中的每一種可能的類型,Pygame都有一個常量變量。第9行檢查Event對象的type是否等于常量QUIT。記住,由于我們使用了from pygame.locals import *形式的import語句,主要輸入QUIT就可以了,而不必輸入pygame.locals.QUIT。

如果Event對象是一個停止事件,就會調用pygame.quit()和sys.exit()函數。pygame. quit()是pygame.init()函數的一種相反的函數,它運行的代碼會使得Pygame庫停止工作。在調用sys.exit()終止程序之前,總是應該先調用pygame.quit()。通常,由于程序退出之前,Python總是會關閉pygame,這不會真的有什么問題。但是,在IDLE中有一個bug,如果一個Pygame程序在調用pygame.quit()之前就終止了,將會導致IDLE掛起。

鍵盤按鍵

event.key==ord('a')
字母a-z: ord('a')----ord('z'), ord()內字母必須小寫,否則出錯。傳遞的是鍵盤對應小寫字母的ASCII值

event.key==K_LEFT
箭頭鍵arrow keys: K_LEFT, K_RIGHT, K_UP, K_DOWN.鍵盤右邊的四個箭頭按鍵
退出鍵ESC: K_ESCAPE

因為導入了from pygame.locals import*,所以我們可以用K_LEFT代替pygame.locals.K_LEFT

Table 20-1: Constant Variables for Keyboard Keys
Pygame Constant Variable Keyboard Key Pygame Constant Variable Keyboard Key
K_LEFT Left arrow K_HOME Home
K_RIGHT Right arrow K_END End
K_UP Up arrow K_PAGEUP PgUp
K_DOWN Down arrow K_PAGEDOWN PgDn
K_ESCAPE Esc K_F1 F1
K_BACKSPACE Backspace K_F2 F2
K_TAB Tab K_F3 F3
K_RETURN Return or Enter K_F4 F4
K_SPACE Space bar K_F5 F5
K_DELETE Del K_F6 F6
K_LSHIFT Left Shift K_F7 F7
K_RSHIFT Right Shift K_F8 F8
K_LCTRL Left Ctrl K_F9 F9
K_RCTRL Right Ctrl K_F10 F10
K_LALT Left Alt K_F11 F11
K_RALT Right Alt K_F12 F12

pygame.event
用于處理事件與事件隊列的 Pygame 模塊。

函數
pygame.event.pump() — 讓 Pygame 內部自動處理事件
pygame.event.get() — 從隊列中獲取事件
pygame.event.poll() — 從隊列中獲取一個事件
pygame.event.wait() — 等待并從隊列中獲取一個事件
pygame.event.peek() — 檢測某類型事件是否在隊列中
pygame.event.clear() — 從隊列中刪除所有的事件
pygame.event.event_name() — 通過 id 獲得該事件的字符串名字
pygame.event.set_blocked() — 控制哪些事件禁止進入隊列
pygame.event.set_allowed() — 控制哪些事件允許進入隊列
pygame.event.get_blocked() — 檢測某一類型的事件是否被禁止進入隊列
pygame.event.set_grab() — 控制輸入設備與其他應用程序的共享
pygame.event.get_grab() — 檢測程序是否共享輸入設備
pygame.event.post() — 放置一個新的事件到隊列中
pygame.event.Event() — 創建一個新的事件對象
pygame.event.EventType — 代表 SDL 事件的 Pygame 對象
Pygame 通過事件隊列控制所有的時間消息。該模塊中的程序將幫你管理事件隊列。輸入隊列很大程度依賴于 pygame 的 display 模塊。如果 display 沒有被初始化,顯示模式沒有被設置,那么事件隊列就還沒有開始真正工作。
常規的隊列是由 pygame.event.EventType 定義的事件對象的組成,有多種方法來訪問里邊的事件對象:從簡單的檢測事件是否存在,到直接從棧中獲取它們。
為了保持 Pygame 和系統同步,你需要調用 pygame.event.pump() 確保實時更新,你將在游戲的每次循環中調用這個函數。

在做測試時,你可以輸出事件對象以及相應的類型和成員。來自系統的事件都有一個事件類型和對應的成員屬性,下邊是每個事件類型以及對應的成員屬性列表:

pygame.event.get()
從隊列中獲取事件。
get() -> Eventlist
get(type) -> Eventlist
get(typelist) -> Eventlist
這將獲取并從隊列中刪除事件。如果指定一個或多個 type 參數,那么只獲取并刪除指定類型的事件。
請注意,如果你只從隊列中獲取和刪除指定的事件,那么久而久之,隊列可能被你不關注的事件所填滿。

pygame.font字體

1.從系統字體庫創建一個 Font 對象
font = pygame.font.SysFont(None, 48) #不熟悉字體名的就用None
pygame.font.SysFont(“字體”,字體大小)
舉例
font = pygame.font.SysFont('Arial', 48)

2.使用對象里的 render方法渲染文字
render(text, antialias, color, background=None) -> Surface
舉例
textobj = font.render(“”hello“”, 1, TEXTCOLOR)

3.獲取字體矩形坐標
textrect = textobj.get_rect()

4.字體矩形坐標左上點賦值
textrect.topleft = (x, y)

5.字體更新到游戲窗口上
surface.blit(textobj, textrect)
drawText('Zombie VS Plants', font, windowSurface, (WINDOWWIDTH / 3), (WINDOWHEIGHT / 4))

image圖像

>>> pygame.image.__doc__

'pygame module for image transfer'

>>> dir(pygame.image)

['__doc__', '__file__', '__name__', '__package__', 'frombuffer', 'fromstring', 'get_extended', 'load', 'load_basic', 'load_extended', 'save', 'save_extended', 'tostring']

2
圖形尺寸轉換的函數:

>>> pygame.transform.scale.__doc__
'scale(Surface, (width, height), DestSurface = None) -> Surface
resize to new resolution'

zombieImage=pygame.image.load('zombie.png')
zombieImageStretchedImage=pygame.transform.scale(zombieImage,(40,40))

pygame.transform.scale()函數可以放大或縮小精靈。
第一個參數是pygame.Surface對象上畫的圖像。第二個參數是圖形新尺寸。
pygame.transform.scale()函數返回一個pygame.Surface對象,此對象上的圖像被賦予新尺寸。我們把原尺寸圖像保存在變量playerImage。但新的圖像保存在變量playerStretchedImage。
playerImageandfoodImage中保存的surface對象和用于window的surface對象一樣。游戲中,我們把這些圖像,字體的surfaces復制到window的surface,這樣用戶就可以在window窗口一目了然。Font對象render()方法產生的surface對象也一樣,為了顯示文字,我們不得不復制surface對象到window surface對象。最后通過update()方法把window surface對象顯示到屏幕上。

當矩形對象代表player的位置和尺寸時,player的圖像也被保存在 playerStretchedImage變量中。我們用 pygame.transform.scale()函數改變了圖像尺寸。確保傳遞原surface對象到變量 playerImage ,而不是到變量playerStretchedImage。圖像尺寸變化后,圖像會有點受損。如果反復變化尺寸,受損會越來越明顯。但我們把原圖像賦予新尺寸,受損只有小小一次。這就是為什么我們把playerImage變量作為第一個參數傳遞給pygame.transform.scale()

3
圖形載入的函數
>>> pygame.image.load.__doc__
'pygame module for image transfer'
pygame.image.load()函數被傳遞一個圖形文件的字符串參數,然后加載。 value of pygame.image.load()返回一個surface對象,這個對象中,圖像文件中圖像畫在它的surface上。我們把這surface對象保存在playerimage內。要確保圖像位置和python目錄一致。
sprite精靈代表一個二維圖像,并作為屏幕上圖形一部分。


這是精靈作為全圖的例子

精靈圖像被畫在背景頂部。注意我們可以水平翻轉精靈圖像,這樣精靈貌似朝著另一個方向。我們可以在同一個窗口畫多個相同精靈。我們也可以重新定義精靈的尺寸,變大或變小。背景圖像可以被看做一個大精靈。

精靈圖像被畫在背景頂部。注意我們可以水平翻轉精靈圖像,這樣精靈貌似朝著另一個方向。我們可以在同一個窗口畫多個相同精靈。我們也可以重新定義精靈的尺寸,變大或變小。背景圖像可以被看做一個大精靈。
精靈被保存在電腦圖像文件中pygame用的圖像格式包括: BMP, PNG, JPG (and JPEG), and GIF.你也可以從web瀏覽器下載圖像,你也可以用繪圖程序制作圖像。繪圖工具有photoshop,MS Paint or Tux Paint.

pygame.rect()

rect = pygame.Rect(300, 100, 40, 40)

Pygame 通過 Rect 對象存儲和操作矩形區域。一個 Rect 對象可以由 left,top,width,height 幾個值創建。

rect對象是用來存儲矩形對象的,rect對象有一些虛擬屬性,

比如top.left,bottom.right這些是用來固定矩形的位置的,

還有size,width,height,這些是描述矩形大小,寬高分別是多大,

center為矩形的中心點,其實就是關于橫縱坐標的二元組,因此又有centerx,centery兩個屬性。此外,還有x,y。

2.來自Pygame中文文檔的解釋:

class pygame.Rect

Rect是用于存儲矩形坐標的pygame對象。

“構造”方法:

1).rect = pygame.Rect( left , top, width, height )

2). rect = pygame.Rect(( left , top),( width, height) )

3).rect = pygame.Rect(object)

Rect.move_ip
moves the rectangle, in place
Rect.move_ip(x, y): return None

Same as theRect.move- moves the rectanglemethod, but operates in place.

區別在于move_ip改變直接調整對象,move返回一個改變后的對象。

surface.blit VS pygame.display.update()

surface.blit是在游戲窗口surface上繪制對象

pygame.display.update()是把游戲窗口surface加載到電腦顯示屏幕上

Surface.blit()

windowSurface.blit(bouncerStretchedImage,rect)

做出blit這個動作的人是一個Surface類的實例,

這個人即將在自己身上畫圖,

他需要兩個參數:要畫的圖片,和畫的位置,即source和rect.

source的類型是Surface, pygame.image.load(圖片路徑)返回的就是Surface

rect需要指定兩個值,left和top,Surface類有get_rect()方法,返回Rect

Rect 是這個樣子:

Rect(left, top, width, height) -> Rect
(left,top)坐標確定圖片所在位置,width和height確定圖片寬和高

沖突檢測
圖形化游戲最常見行為就是沖突檢測。沖突檢測指:屏幕上兩個對象是否重疊。如果玩家碰到敵人,則可能損失生命值。在矩形彈動游戲中,沖突檢測指兩個矩形是否重疊。

>>> pygame.Rect.colliderect.__doc__
'colliderect(Rect) -> bool
test if two rectangles overlap'

#測試玩家是否觸碰到僵尸
def playerHasHitZombie(playerRect, zombies):
    for z in zombies:
        #test if two rectangles overlap測試是否觸碰到僵尸
        if playerRect.colliderect(z['rect']):
            return True
    return False

#測試子彈是否觸碰到僵尸。如果是,就把該僵尸移除
def bulletHasHitZombie(bullets, zombies):
    for b in bullets:
        if b['rect'].colliderect(z['rect']):
            bullets.remove(b)
            return True
    return False

#測試子彈是否觸碰到新僵尸。如果是,就把該僵尸移除
def bulletHasHitCrawler(bullets, newKindZombies):
    for b in bullets:
        if b['rect'].colliderect(c['rect']):
            bullets.remove(b)
            return True
    return False

創建一個簡單的游戲窗口

首先輸入import pygame,sys導入具有所有可用pygame模塊的包和系統模塊。

現在游戲窗口還沒有任何內容,之后我們可以逐步添加,設計自己的游戲。我已經用pygame完成了貪吃蛇,植物大戰僵尸,俄羅斯方塊,開心消消樂等知名游戲。

2.實例:python代碼寫個植物大戰僵尸游戲

植物大戰僵尸

《植物大戰僵尸》是由PopCap Games開發的一款益智策略類單機游戲,發售于2009年5月5日。玩家通過利用多種植,并切換不同的功能,快速有效地把僵尸阻擋在入侵的道路上。

游戲里有26種僵尸,包括鐵桶,報紙,鐵門,橄欖球頭盔,雪橇車,南瓜頭,礦工帽,鐵梯僵尸。這些僵尸會入侵我們后花園,我們要用各種植物消滅入侵僵尸。

49種植物每種都有不同的功能,例如櫻桃炸彈可以和周圍一定范圍內的所有僵尸同歸于盡,而食人花可以吃掉最靠近自己的一只僵尸。玩家可以針對不同僵尸的弱點來合理地種植植物,這也是勝利的訣竅。

下圖是我用pygame編寫的簡易版植物大戰僵尸游戲一個藍色植物正在吐出圓球攻擊僵尸,僵尸數量和移動速度可以自己控制。如果集中一個僵尸,score分數會增加一分,zombies gotten past記錄有多少僵尸已經越過植物。當然我還可以設計一些作弊的按鍵,非常有趣!

不同的敵人,不同的玩法構成五種不同的游戲模式,加之黑夜、濃霧以及泳池之類的障礙增加了游戲挑戰性。

這是房頂上植物們拼命抵抗僵尸入侵場景。

這是在后花園的游泳池里植物們拼命抵抗僵尸入侵場景。

僵尸挺聰明的,如果白天入侵不成功,就晚上搞偷襲。這是在深夜植物們拼命抵抗僵尸入侵場景。

這款python代碼當然不是復現原款游戲所有功能,而是簡單模擬一下其中樂趣。首先我們準備好以下素材。包括三張僵尸圖片:

BucketheadZombie.gif,ConeheadZombie.gif,zombie.png。

一張植物圖片plant.gif,一張背景圖片background.png,一張子彈圖片bullet.png

一首背景音樂background.mp3,一首游戲結束音樂gameover.mp3。由于游戲是之前基于python2.7版本寫的,因此建議素材名稱使用英文,python2版本對中文支持不太友好。

由于這款游戲代碼量太大,這里就不一一展開說明,我建議你們直接去下載源代碼和圖片,然后根據自己愛好,更改一下背景音樂,圖片,和僵尸數量,移動速度等參數設置。我對游戲一些重要語法做一些說明。

pygame.display.set_caption(words)設置窗口標題

pygame.display.set_caption(words)方法是設置窗口標題,words參數是窗口標題。我們沿用之前腳本運行下面腳本,我們就生成了一個有Zombie VS Plants標題的窗口。

pygame.event事件

常見事件有QUIT,KEYDOWN,KEYUP

while True:                  #main game loop游戲主循環
    for event in pygame.event.get(): #遍歷pygame事件列表
        if event.type==QUIT:        #如果點擊關閉按鈕(window右上)
            pygame.quit()           #關閉pygame庫
            sys.exit()              #系統退出

建立一個簡單游戲窗口

import pygame,sys            #導入pygame和sys模塊
from pygame.locals import*   #導入pygame 局部變量
pygame.init()                #pygame所有模塊初始化
screen=pygame.display.set_mode((400,300))#設置屏幕長和寬值
pygame.display.set_caption('Zombie VS Plants')# 設置窗口標題
while True:                  #main game loop游戲主循環
    for event in pygame.event.get(): #遍歷pygame事件列表
        if event.type==QUIT:        #如果點擊關閉按鈕(window右上)
            pygame.quit()           #關閉pygame庫
            sys.exit()              #系統退出

pygame.time.Clock

pygame.time.Clock創建一個新的Clock對象,該對象可用于跟蹤時間量。 時鐘還提供了多種功能來幫助控制游戲的幀頻。

pygame中的時間以毫秒(1/1000秒)表示。 大多數平臺的時間分辨率有限,大約為10毫秒。 該分辨率(以毫秒為單位)在TIMER_RESOLUTION常量中給出。

pygame.time.Clock.tick()

tick(framerate=0) -> milliseconds

每幀應調用一次此方法。 它將計算自上次調用以來經過了多少毫秒。
如果您傳遞可選的幀速率參數,該功能將延遲以使游戲的運行速度低于給定的每秒滴答聲。 這可以用來幫助限制游戲的運行速度。 通過每幀調用Clock.tick(40)一次,該程序將永遠不會以每秒40幀以上的速度運行。一般情況framerate設置為40.

游戲運行時每秒所運行的幀數(簡稱FPS,Frames Per Second) 和視頻一樣,FPS越大,在屏幕上的視頻就越來越平滑,直到一個臨界點(大約是100FPS),超過這個臨界點,再高的FPS都只是一個令人驚奇的數值,400FPS和100FPS在人的視覺中幾乎沒有差別。
FPS取決于顯卡,其次是內存,CPU,然后是網絡(如果是網絡游戲的話)與硬盤。
一般游戲都是40左右fps就可以稱之為流暢了。比如策略類(三國志什么的)5fps也是可以接受的。但賽車類 5fps根本玩不下去。
每款游戲都會有一個官方提供的最低配置要求,尤其是網絡游戲,但這個最低配置僅僅適用于將游戲內的所有視頻效果全部關閉的狀態下使用,而且網絡游戲中對于網速的問題是忽略不計的。
只有提高電腦的顯卡、內存才能在網絡因素不確定的情況下達到最理想的游戲流暢效果。

音樂music

我們曾經玩任何游戲都會伴隨動聽的背景音樂。pygame.mixer是一個用來處理聲音的模塊,其含義為“混音器”。因此我們準備用以下方法pygame.mixer.music.load('background.mp3')加載mp3格式背景音樂并準備播放。這樣游戲就會深動形象。

pygame.mixer.music.play(loop, start)方法用于播方音樂,loop表示循環次數,如果loop=1表示音樂播方一次。如果loop=2, 表示音樂播方兩次。如果loop=-1,表示音樂不停循環。start 參數控制音樂從哪里開始播放。開始的位置取決于音樂的格式。MP3 和 OGG 使用時間表示播放位置(以秒為單位)。MOD使用模式順序編號表示播放位置。如果音樂文件無法設置開始位置,則傳遞了start參數后會產生一個NotImplementedError 錯誤。

pygame.mixer.music.stop()方法用于結束音樂播放。如果游戲結束,我們可以加上這句方法,停止播放音樂。

pygame.mixer.music.load('background.mp3') ##載入一個音樂文件用于播放
#,如果 loops = -1,則表示無限重復播放。start 參數控制音樂從哪里開始播放。
pygame.mixer.music.play(-1, 0.0) #開始播放音樂流
pygame.mixer.music.stop()#停止音樂播放

我們把加載和播方聲音的代碼加入主程序,這樣游戲窗口就有音樂了。

import pygame,sys            #導入pygame和sys模塊
from pygame.locals import*   #導入pygame 局部變量
pygame.init()                #pygame所有模塊初始化
screen=pygame.display.set_mode((400,300))#設置屏幕長和寬值
pygame.display.set_caption('Zombie VS Plants')

pygame.mixer.music.load('background.mp3') ##載入一個音樂文件用于播放
#,如果 loops = -1,則表示無限重復播放。start 參數控制音樂從哪里開始播放。
pygame.mixer.music.play(-1, 0.0) #開始播放音樂流
while True:                  #main game loop游戲主循環
    
    for event in pygame.event.get(): #遍歷pygame事件列表
        if event.type==QUIT:        #如果點擊關閉按鈕(window右上)
            pygame.quit()           #關閉pygame庫
            sys.exit()              #系統退出
pygame.mixer.music.stop()#停止音樂播放

游戲結束時也會有相應音樂,我們文件里游戲結束音樂時wav格式的,和之前mp3格式不一樣,我們用gameOverSound = pygame.mixer.Sound('gameover.wav')方法把游戲結束音樂放入gameOverSound變量。gameOverSound.play()方法播放游戲結束音樂。gameOverSound.stop()方法用于停止游戲結束聲音播放。

# set up sounds設置聲音
gameOverSound = pygame.mixer.Sound('gameover.wav')
gameOverSound.play()  #播放游戲結束時聲音
gameOverSound.stop() #游戲結束聲音停止

參數前置

我們用pygame.display.set_mode((400,300))方法設置屏幕大小時候400,300為屏幕的長和寬。在大型程序設計時,一般不把具體數字放入方法里,而是用變量代替。我們用WINDOWWIDTH表示游戲窗口寬度,用WINDOWHEIGHT 表示游戲窗口高度,WINDOWWIDTH = 1024,WINDOWHEIGHT = 600。我們用以下代碼實現游戲窗口大小的參數前置。

import pygame,sys            #導入pygame和sys模塊
from pygame.locals import*   #導入pygame 局部變量
#設置變量參數,參數前置
WINDOWWIDTH = 1024           #游戲窗口寬度
WINDOWHEIGHT = 600           #游戲窗口高度
pygame.init()                #pygame所有模塊初始化
screen=pygame.display.set_mode((400,300))#設置屏幕長和寬值
pygame.display.set_caption('Zombie VS Plants')
#設置窗口大小
windowSurface = pygame.display.set_mode((WINDOWWIDTH, WINDOWHEIGHT))
pygame.mixer.music.load('background.mp3') ##載入一個音樂文件用于播放
#,如果 loops = -1,則表示無限重復播放。start 參數控制音樂從哪里開始播放。
pygame.mixer.music.play(-1, 0.0) #開始播放音樂流
while True:                  #main game loop游戲主循環
    for event in pygame.event.get(): #遍歷pygame事件列表
        if event.type==QUIT:        #如果點擊關閉按鈕(window右上)
            pygame.mixer.music.stop()#停止播放音樂
            pygame.quit()           #關閉pygame庫
            sys.exit()              #系統退出

如果我們想要讓游戲窗口在顯示器上全屏展示,我們用pygame.FULLSCREEN對象。

import pygame,sys            #導入pygame和sys模塊
from pygame.locals import*   #導入pygame 局部變量
#設置變量參數,參數前置
WINDOWWIDTH = 1024           #游戲窗口寬度
WINDOWHEIGHT = 600           #游戲窗口高度
pygame.init()                #pygame所有模塊初始化
screen=pygame.display.set_mode((400,300))#設置屏幕長和寬值
pygame.display.set_caption('Zombie VS Plants')
#設置窗口大小
windowSurface=pygame.display.set_mode((WINDOWWIDTH,WINDOWHEIGHT),pygame.FULLSCREEN)
pygame.mixer.music.load('background.mp3') ##載入一個音樂文件用于播放
#,如果 loops = -1,則表示無限重復播放。start 參數控制音樂從哪里開始播放。
pygame.mixer.music.play(-1, 0.0) #開始播放音樂流
while True:                  #main game loop游戲主循環
    for event in pygame.event.get(): #遍歷pygame事件列表
        if event.type==QUIT:        #如果點擊關閉按鈕(window右上)
            pygame.mixer.music.stop() #停止播放音樂
            pygame.quit()           #關閉pygame庫
            sys.exit()              #系統退出

鼠標

#鼠標設置不可見

pygame.mouse.set_visible(False)

鍵盤設置

while True:
    for event in pygame.event.get():
        if event.type==QUIT:
            terminate()
        if event.type==pygame.locals.KEYDOWN:
            #change the keyboard variables鍵盤鍵設置上下左右
            if event.key==pygame.locals.K_LEFT or event.key==ord('a'):
                moveRight=False
                moveLeft=True
            if event.key==pygame.locals.K_RIGHT or event.key==ord('d'):
                moveLeft=False
                moveRight=True
            if event.key==pygame.locals.K_UP or event.key==ord('w'):
                moveDown=False
                moveUp=True
            if event.key==pygame.locals.K_DOWN or event.key==ord('s'):
                moveDown=True
                moveUp=False
        #有KEYDOWN就一定有KEYUP,否則游戲對象會持續移動
        if event.type==pygame.locals.KEYUP:
            if event.key==pygame.locals.K_ESCAPE:
                pygame.quit()
                sys.exit()
            if event.key==pygame.locals.K_LEFT or event.key==ord('a'):
                moveLeft=False
            if event.key==K_RIGHT or event.key==ord('d'):
                moveRight=False
            if event.key==K_UP or event.key==ord('w'):
                moveUp=False
            if event.key==K_DOWN or event.key==ord('s'):
                moveDown=False
          
    # move the bouncer data structure
    if moveDown and p_destination.bottom<WINDOWHEIGHT:
        p_destination.top+=PLAYERMOVERATE 
    
    if moveUp and p_destination.top>0:
        p_destination.top-=PLAYERMOVERATE 
        
    if moveLeft and p_destination.left>0:
        p_destination.left-=PLAYERMOVERATE 

    if moveRight and p_destination.right<WINDOWWIDTH:
        p_destination.right+=PLAYERMOVERATE 
        
    # Draw the game world on the window.
    windowSurface.blit(rescaledBackground, (0, 0))
    windowSurface.blit(zombieStretchedImage,z_destination)
    windowSurface.blit(playerImage,p_destination)

  

發射子彈

'''
playerRect = playerImage.get_rect()
playerRect.topleft = (50, WINDOWHEIGHT /2)

#子彈圖像加載
bulletImage = pygame.image.load('SnowPeashooterBullet.gif')
bulletRect = bulletImage.get_rect()

#連續發射兩個子彈的距離,值越小,子彈距離越近,反之亦然
BULLETSPEED = 30
#新增子彈速度,值越小,子彈發射越快
ADDNEWBULLETRATE = 5
b['rect'].move_ip(1 * BULLETSPEED, 0)
#增加子彈計數器
bulletAddCounter = 0
'''

import pygame, random, sys, time
from pygame.locals import *

#set up some variables
WINDOWWIDTH = 1024
WINDOWHEIGHT = 600
#值設置低一些,僵尸移動速度變慢
FPS = 20
PLAYERMOVERATE = 15
#連續發射兩個子彈的距離,值越小,子彈距離越近,反之亦然
BULLETSPEED = 30
#新增子彈速度,值越小,子彈發射越快
ADDNEWBULLETRATE = 5
shoot = False
#增加子彈計數器
bulletAddCounter = 0
RED = (255, 0, 0)

#結束游戲
def terminate():
    pygame.quit()
    sys.exit()

# set up pygame, the window, and the mouse cursor
pygame.init()
#reate an object to help track time
mainClock = pygame.time.Clock()
windowSurface = pygame.display.set_mode((WINDOWWIDTH, WINDOWHEIGHT))#, pygame.FULLSCREEN)
#窗口標題
pygame.display.set_caption('Zombie Defence')
#鼠標設置不可見
#pygame.mouse.set_visible(False)

# set up fonts設置字體
font = pygame.font.SysFont(None, 48)

#加載聲音
pygame.mixer.music.load('grasswalk.mp3')

# set up images
playerImage = pygame.image.load('SnowPea.gif')
#get the rectangular area of the Surface
#Returns a new rectangle covering the entire surface. This rectangle will 
#always start at (0, 0) with a width and height the same size as the image.
playerRect = playerImage.get_rect()
#子彈圖像加載
bulletImage = pygame.image.load('SnowPeashooterBullet.gif')
bulletRect = bulletImage.get_rect()

zombieImage=pygame.image.load("zombie.png")
zombieStretchedImage=pygame.transform.scale(zombieImage,(80,80))
z_destination=pygame.Rect(944, 300, 80, 80)
#游戲背景圖片加載
backgroundImage = pygame.image.load('background.png')
#對背景圖片尺寸重新調整大小,寬為WINDOWWIDTH,長為WINDOWHEIGHT
rescaledBackground = pygame.transform.scale(backgroundImage, (WINDOWWIDTH, WINDOWHEIGHT))

zombies = []
bullets = []
playerRect.topleft = (50, WINDOWHEIGHT /2)
moveLeft = moveRight = False
moveUp=moveDown = False

pygame.mixer.music.play(-1, 0.0)

#游戲開始循環
while True: # the game loop runs while the game part is playing
    
    for event in pygame.event.get():
        if event.type == QUIT:
            terminate()

        if event.type == KEYDOWN:
            if event.key == K_UP or event.key == ord('w'):
                moveDown = False
                moveUp = True
            if event.key == K_DOWN or event.key == ord('s'):
                moveUp = False
                moveDown = True

            if event.key == K_SPACE:
                shoot = True

        if event.type == KEYUP:
            if event.key == K_ESCAPE:
                terminate()

            if event.key == K_UP or event.key == ord('w'):
                moveUp = False
            if event.key == K_DOWN or event.key == ord('s'):
                moveDown = False
                
            if event.key == K_SPACE:
                shoot = False

    # add new bullet新增子彈
    #新增子彈計數器
    bulletAddCounter += 1
    print("bulletAddCounter:",bulletAddCounter)
    #當while循環次數大于ADDNEWBULLETRATE時,才能發射子彈
    if bulletAddCounter >= ADDNEWBULLETRATE and shoot == True:
        print("shoot")
    #if  shoot == True:  #如果不限制,子彈會連發,沒有距離感
        bulletAddCounter = 0
        #playerRect.centery-25是為了讓子彈上升一點,與植物炮口平行,centerx+10是為了子彈在前面點出現
        newBullet = {'rect':pygame.Rect(playerRect.centerx+10, playerRect.centery-30, bulletRect.width, bulletRect.height),
						 'surface':pygame.transform.scale(bulletImage, (bulletRect.width, bulletRect.height)),
						}
        bullets.append(newBullet)
        

    # Move the player around.
    if moveUp and playerRect.top > 30:
        playerRect.move_ip(0,-1 * PLAYERMOVERATE)
    if moveDown and playerRect.bottom < WINDOWHEIGHT-10:
        playerRect.move_ip(0,PLAYERMOVERATE)
        
    # move the bullet移動子彈
    for b in bullets:
        b['rect'].move_ip(1 * BULLETSPEED, 0)
        #print(b['rect'])
        
    # Draw the game world on the window.
    windowSurface.blit(rescaledBackground, (0, 0))
    # Draw the player's rectangle, rails
    windowSurface.blit(playerImage, playerRect)
    windowSurface.blit(zombieStretchedImage,z_destination)
        
    # draw each bullet將所有子彈繪制到游戲界面上
    for b in bullets:
        windowSurface.blit(b['surface'], b['rect'])
       
    # update the display
    pygame.display.update()
    #tick(framerate=0) -> milliseconds
    #幀速率參數,該功能將延遲以使游戲的運行速度低
    mainClock.tick(FPS)
    #print("bullets",bullets)

  

random.randint(a,b)隨機生成若干移動僵尸

在python中的random.randint(a,b)用于生成一bai個指定范圍內的整數。du其中參數zhia是下限,參數b是上限,生成的隨機dao數n: a <= n <= b。

'''
僵尸移動
'''

import pygame, random, sys, time
from pygame.locals import *

#set up some variables
WINDOWWIDTH = 1024
WINDOWHEIGHT = 600
#值設置低一些,僵尸移動速度變慢
FPS = 20
PLAYERMOVERATE = 15
#連續發射兩個子彈的距離,值越小,子彈距離越近,反之亦然
BULLETSPEED = 30
#新增子彈速度,值越小,子彈發射越快
ADDNEWBULLETRATE = 5
shoot = False
#增加子彈計數器
bulletAddCounter = 0
#增加僵尸計數器
zombieAddCounter=0

ZOMBIESIZE = 100 #includes newKindZombies
#新增喪尸速度,值設置大些,喪失數量少些
ADDNEWZOMBIERATE = 50
ADDNEWKINDZOMBIE = ADDNEWZOMBIERATE

NORMALZOMBIESPEED = 2
NEWKINDZOMBIESPEED = NORMALZOMBIESPEED / 2

# set up the colors顏色值設置,可用于背景顏色
BLACK = (0, 0, 0)
GREEN = (0, 255, 0)
WHITE = (255, 255, 255)
RED=(255, 0, 0)
#結束游戲
def terminate():
    pygame.quit()
    sys.exit()

# set up pygame, the window, and the mouse cursor
pygame.init()
#reate an object to help track time
mainClock = pygame.time.Clock()
windowSurface = pygame.display.set_mode((WINDOWWIDTH, WINDOWHEIGHT))#, pygame.FULLSCREEN)
#窗口標題
pygame.display.set_caption('Zombie Defence')
#鼠標設置不可見
#pygame.mouse.set_visible(False)

# set up fonts設置字體
font = pygame.font.SysFont(None, 48)

#加載聲音
pygame.mixer.music.load('grasswalk.mp3')

# set up images
playerImage = pygame.image.load('SnowPea.gif')
#get the rectangular area of the Surface
#Returns a new rectangle covering the entire surface. This rectangle will 
#always start at (0, 0) with a width and height the same size as the image.
playerRect = playerImage.get_rect()
#子彈圖像加載
bulletImage = pygame.image.load('SnowPeashooterBullet.gif')
bulletRect = bulletImage.get_rect()

zombieImage=pygame.image.load("zombie.png")
zombieStretchedImage=pygame.transform.scale(zombieImage,(80,80))
z_destination=pygame.Rect(944, 300, 80, 80)
#游戲背景圖片加載
backgroundImage = pygame.image.load('background.png')
#對背景圖片尺寸重新調整大小,寬為WINDOWWIDTH,長為WINDOWHEIGHT
rescaledBackground = pygame.transform.scale(backgroundImage, (WINDOWWIDTH, WINDOWHEIGHT))

zombies = []
bullets = []
playerRect.topleft = (50, WINDOWHEIGHT /2)
moveLeft = moveRight = False
moveUp=moveDown = False

pygame.mixer.music.play(-1, 0.0)

#游戲開始循環
while True: # the game loop runs while the game part is playing
    
    for event in pygame.event.get():
        if event.type == QUIT:
            terminate()

        if event.type == KEYDOWN:
            if event.key == K_UP or event.key == ord('w'):
                moveDown = False
                moveUp = True
            if event.key == K_DOWN or event.key == ord('s'):
                moveUp = False
                moveDown = True

            if event.key == K_SPACE:
                shoot = True

        if event.type == KEYUP:
            if event.key == K_ESCAPE:
                terminate()

            if event.key == K_UP or event.key == ord('w'):
                moveUp = False
            if event.key == K_DOWN or event.key == ord('s'):
                moveDown = False
                
            if event.key == K_SPACE:
                shoot = False
    # Add new zombies at the top of the screen, if needed.增加上市
    zombieAddCounter += 1
    if zombieAddCounter == ADDNEWKINDZOMBIE:
        zombieAddCounter = 0
        zombieSize = ZOMBIESIZE       
        newZombie = {'rect': pygame.Rect(WINDOWWIDTH, random.randint(10,WINDOWHEIGHT-zombieSize-10), zombieSize, zombieSize),
                        'surface':pygame.transform.scale(zombieImage, (zombieSize, zombieSize)),
                        }
        zombies.append(newZombie)
            
    # add new bullet新增子彈
    #新增子彈計數器
    bulletAddCounter += 1
    print("bulletAddCounter:",bulletAddCounter)
    #當while循環次數大于ADDNEWBULLETRATE時,才能發射子彈
    if bulletAddCounter >= ADDNEWBULLETRATE and shoot == True:
        print("shoot")
    #if  shoot == True:  #如果不限制,子彈會連發,沒有距離感
        bulletAddCounter = 0
        #playerRect.centery-25是為了讓子彈上升一點,與植物炮口平行,centerx+10是為了子彈在前面點出現
        newBullet = {'rect':pygame.Rect(playerRect.centerx+10, playerRect.centery-30, bulletRect.width, bulletRect.height),
						 'surface':pygame.transform.scale(bulletImage, (bulletRect.width, bulletRect.height)),
						}
        bullets.append(newBullet)
        

    # Move the player around.
    if moveUp and playerRect.top > 30:
        playerRect.move_ip(0,-1 * PLAYERMOVERATE)
    if moveDown and playerRect.bottom < WINDOWHEIGHT-10:
        playerRect.move_ip(0,PLAYERMOVERATE)
        
    # move the bullet移動子彈
    for b in bullets:
        b['rect'].move_ip(1 * BULLETSPEED, 0)
        #print(b['rect'])
        
    # Move the zombies.
    for z in zombies:
        z['rect'].move_ip(-1*NORMALZOMBIESPEED, 0)
        
    # Draw the game world on the window.
    windowSurface.blit(rescaledBackground, (0, 0))
    # Draw the player's rectangle, rails
    windowSurface.blit(playerImage, playerRect)
    windowSurface.blit(zombieStretchedImage,z_destination)
        
    # draw each bullet將所有子彈繪制到游戲界面上
    for b in bullets:
        windowSurface.blit(b['surface'], b['rect'])
    
    # Draw each baddie
    for z in zombies:
        windowSurface.blit(z['surface'], z['rect'])
       
    # update the display
    pygame.display.update()
    #tick(framerate=0) -> milliseconds
    #幀速率參數,該功能將延遲以使游戲的運行速度低
    mainClock.tick(FPS)
    #print("bullets",bullets)

  

完整的植物大戰僵尸游戲代碼如下。你們可以根據自己偏好來改變人物圖片,背景,配音。

import pygame, random, sys, time
from pygame.locals import *

#set up some variables
WINDOWWIDTH = 1024
WINDOWHEIGHT = 600
#值設置低一些,僵尸移動速度變慢
FPS = 20
MAXGOTTENPASS = 10
ZOMBIESIZE = 100 #includes newKindZombies
#新增喪尸速度,值設置大些,喪失數量少些
ADDNEWZOMBIERATE = 50
ADDNEWKINDZOMBIE = ADDNEWZOMBIERATE
NORMALZOMBIESPEED = 2
NEWKINDZOMBIESPEED = NORMALZOMBIESPEED / 2
PLAYERMOVERATE = 15
#子彈速度
BULLETSPEED = 20
ADDNEWBULLETRATE = 15

TEXTCOLOR = (255, 255, 255)
RED = (255, 0, 0)

#結束游戲
def terminate():
    pygame.quit()
    sys.exit()
#等待玩家按鍵
def waitForPlayerToPressKey():
    while True:
        for event in pygame.event.get():
            if event.type == QUIT:
                terminate()
            if event.type == KEYDOWN:
                if event.key == K_ESCAPE: # pressing escape quits
                    terminate()
                if event.key == K_RETURN:
                    return

#測試玩家是否觸碰到僵尸
def playerHasHitZombie(playerRect, zombies):
    for z in zombies:
        #test if two rectangles overlap測試是否觸碰到僵尸
        if playerRect.colliderect(z['rect']):
            return True
    return False

#測試子彈是否觸碰到僵尸。如果是,就把該僵尸移除
def bulletHasHitZombie(bullets, zombies):
    for b in bullets:
        if b['rect'].colliderect(z['rect']):
            bullets.remove(b)
            return True
    return False

#測試子彈是否觸碰到新僵尸。如果是,就把該僵尸移除
def bulletHasHitCrawler(bullets, newKindZombies):
    for b in bullets:
        if b['rect'].colliderect(c['rect']):
            bullets.remove(b)
            return True
    return False

#輸入文字顯示
def drawText(text, font, surface, x, y):
    textobj = font.render(text, 1, TEXTCOLOR)
    textrect = textobj.get_rect()
    textrect.topleft = (x, y)
    #draw one image onto another
    surface.blit(textobj, textrect)

# set up pygame, the window, and the mouse cursor
pygame.init()
#reate an object to help track time
mainClock = pygame.time.Clock()
windowSurface = pygame.display.set_mode((WINDOWWIDTH, WINDOWHEIGHT))#, pygame.FULLSCREEN)
#窗口標題
pygame.display.set_caption('Zombie VS Plants')
#鼠標設置不可見
pygame.mouse.set_visible(False)
# set up fonts設置字體
font = pygame.font.SysFont(None, 48)
# set up sounds設置聲音
gameOverSound = pygame.mixer.Sound('gameover.wav')
#加載聲音
pygame.mixer.music.load('background.mp3')
# set up images
playerImage = pygame.image.load('plant.gif')
#get the rectangular area of the Surface
#Returns a new rectangle covering the entire surface. This rectangle will 
#always start at (0, 0) with a width and height the same size as the image.
playerRect = playerImage.get_rect()
#子彈圖像加載
bulletImage = pygame.image.load('bullet.gif')
bulletRect = bulletImage.get_rect()
zombieImage = pygame.image.load('zombie.png')
newKindZombieImage = pygame.image.load('ConeheadZombie.gif')
#newKindZombieImage = pygame.image.load('trump31.png')
#游戲背景圖片加載
backgroundImage = pygame.image.load('background.png')
#對背景圖片尺寸重新調整大小,寬為WINDOWWIDTH,長為WINDOWHEIGHT
rescaledBackground = pygame.transform.scale(backgroundImage, (WINDOWWIDTH, WINDOWHEIGHT))

# show the "Start" screen
windowSurface.blit(rescaledBackground, (0, 0))
windowSurface.blit(playerImage, (WINDOWWIDTH / 2, WINDOWHEIGHT - 70))
drawText('Zombie VS Plants', font, windowSurface, (WINDOWWIDTH / 4), (WINDOWHEIGHT / 4))
drawText('Press Enter to start', font, windowSurface, (WINDOWWIDTH / 3) - 10, (WINDOWHEIGHT / 3) + 50)
pygame.display.update()
waitForPlayerToPressKey()
#主循環
while True:
    # set up the start of the game
    zombies = []
    newKindZombies = []
    bullets = []
    zombiesGottenPast = 0
    score = 0
    playerRect.topleft = (50, WINDOWHEIGHT /2)
    moveLeft = moveRight = False
    moveUp=moveDown = False
    shoot = False
    zombieAddCounter = 0
    newKindZombieAddCounter = 0
    bulletAddCounter = 40
    pygame.mixer.music.play(-1, 0.0)
    #游戲開始循環
    while True: # the game loop runs while the game part is playing
        for event in pygame.event.get():
            if event.type == QUIT:
                terminate()

            if event.type == KEYDOWN:
                if event.key == K_UP or event.key == ord('w'):
                    moveDown = False
                    moveUp = True
                if event.key == K_DOWN or event.key == ord('s'):
                    moveUp = False
                    moveDown = True

                if event.key == K_SPACE:
                    shoot = True

            if event.type == KEYUP:
                if event.key == K_ESCAPE:
                        terminate()

                if event.key == K_UP or event.key == ord('w'):
                    moveUp = False
                if event.key == K_DOWN or event.key == ord('s'):
                    moveDown = False
                
                if event.key == K_SPACE:
                    shoot = False

        # Add new zombies at the top of the screen, if needed.增加上市
        zombieAddCounter += 1
        if zombieAddCounter == ADDNEWKINDZOMBIE:
            zombieAddCounter = 0
            zombieSize = ZOMBIESIZE       
            newZombie = {'rect': pygame.Rect(WINDOWWIDTH, random.randint(10,WINDOWHEIGHT-zombieSize-10), zombieSize, zombieSize),
                        'surface':pygame.transform.scale(zombieImage, (zombieSize, zombieSize)),
                        }

            zombies.append(newZombie)

        # Add new newKindZombies at the top of the screen, if needed.
        newKindZombieAddCounter += 1
        if newKindZombieAddCounter == ADDNEWZOMBIERATE:
            newKindZombieAddCounter = 0
            newKindZombiesize = ZOMBIESIZE
            newCrawler = {'rect': pygame.Rect(WINDOWWIDTH, random.randint(10,WINDOWHEIGHT-newKindZombiesize-10), newKindZombiesize, newKindZombiesize),
                        'surface':pygame.transform.scale(newKindZombieImage, (newKindZombiesize, newKindZombiesize)),
                        }
            newKindZombies.append(newCrawler)

        # add new bullet
        bulletAddCounter += 1
        if bulletAddCounter >= ADDNEWBULLETRATE and shoot == True:
            bulletAddCounter = 0
            newBullet = {'rect':pygame.Rect(playerRect.centerx+10, playerRect.centery-25, bulletRect.width, bulletRect.height),
						 'surface':pygame.transform.scale(bulletImage, (bulletRect.width, bulletRect.height)),
						}
            bullets.append(newBullet)

        # Move the player around.
        if moveUp and playerRect.top > 30:
            playerRect.move_ip(0,-1 * PLAYERMOVERATE)
        if moveDown and playerRect.bottom < WINDOWHEIGHT-10:
            playerRect.move_ip(0,PLAYERMOVERATE)

        # Move the zombies down.
        for z in zombies:
            z['rect'].move_ip(-1*NORMALZOMBIESPEED, 0)

        # Move the newKindZombies down.
        for c in newKindZombies:
            c['rect'].move_ip(-1*NEWKINDZOMBIESPEED,0)

        # move the bullet
        for b in bullets:
            b['rect'].move_ip(1 * BULLETSPEED, 0)

        # Delete zombies that have fallen past the bottom.
        for z in zombies[:]:
            if z['rect'].left < 0:
                zombies.remove(z)
                zombiesGottenPast += 1

        # Delete newKindZombies that have fallen past the bottom.
        for c in newKindZombies[:]:
            if c['rect'].left <0:
                newKindZombies.remove(c)
                zombiesGottenPast += 1
		
		for b in bullets[:]:
			if b['rect'].right>WINDOWWIDTH:
				bullets.remove(b)
				
        # check if the bullet has hit the zombie 檢查子彈是否觸碰到僵尸
        for z in zombies:
            if bulletHasHitZombie(bullets, zombies):
                score += 1
                zombies.remove(z)
        #檢查子彈是否觸碰到新僵尸
        for c in newKindZombies:
            if bulletHasHitCrawler(bullets, newKindZombies):
                score += 1
                newKindZombies.remove(c)      
        # Draw the game world on the window.
        windowSurface.blit(rescaledBackground, (0, 0))
        # Draw the player's rectangle, rails
        windowSurface.blit(playerImage, playerRect)
        # Draw each baddie
        for z in zombies:
            windowSurface.blit(z['surface'], z['rect'])
        for c in newKindZombies:
            windowSurface.blit(c['surface'], c['rect'])
        # draw each bullet
        for b in bullets:
            windowSurface.blit(b['surface'], b['rect'])
        # Draw the score and how many zombies got past
        drawText('zombies gotten past: %s' % (zombiesGottenPast), font, windowSurface, 10, 20)
        drawText('score: %s' % (score), font, windowSurface, 10, 50)
        # update the display
        pygame.display.update()
            
        # Check if any of the zombies has hit the player.
        if playerHasHitZombie(playerRect, zombies):
            break
        if playerHasHitZombie(playerRect, newKindZombies):
           break
        
        # check if score is over MAXGOTTENPASS which means game over
        if zombiesGottenPast >= MAXGOTTENPASS:
            break
        #tick(framerate=0) -> milliseconds
        #幀速率參數,該功能將延遲以使游戲的運行速度低
        mainClock.tick(FPS)

    # Stop the game and show the "Game Over" screen.游戲結束執行命令
    pygame.mixer.music.stop()
    gameOverSound.play()  #播放游戲結束時聲音
    time.sleep(1)
    if zombiesGottenPast >= MAXGOTTENPASS:
        windowSurface.blit(rescaledBackground, (0, 0))
        windowSurface.blit(playerImage, (WINDOWWIDTH / 2, WINDOWHEIGHT - 70))
        drawText('score: %s' % (score), font, windowSurface, 10, 30)
        drawText('GAME OVER', font, windowSurface, (WINDOWWIDTH / 3), (WINDOWHEIGHT / 3))
        drawText('YOUR COUNTRY HAS BEEN DESTROIED', font, windowSurface, (WINDOWWIDTH / 4)- 80, (WINDOWHEIGHT / 3) + 100)
        drawText('Press enter to play again or escape to exit', font, windowSurface, (WINDOWWIDTH / 4) - 80, (WINDOWHEIGHT / 3) + 150)
        pygame.display.update()
        waitForPlayerToPressKey()
    if playerHasHitZombie(playerRect, zombies):
        windowSurface.blit(rescaledBackground, (0, 0))
        windowSurface.blit(playerImage, (WINDOWWIDTH / 2, WINDOWHEIGHT - 70))
        drawText('score: %s' % (score), font, windowSurface, 10, 30)
        drawText('GAME OVER', font, windowSurface, (WINDOWWIDTH / 3), (WINDOWHEIGHT / 3))
        drawText('YOU HAVE BEEN KISSED BY THE ZOMMBIE', font, windowSurface, (WINDOWWIDTH / 4) - 80, (WINDOWHEIGHT / 3) +100)
        drawText('Press enter to play again or escape to exit', font, windowSurface, (WINDOWWIDTH / 4) - 80, (WINDOWHEIGHT / 3) + 150)
        pygame.display.update()
        waitForPlayerToPressKey()
    gameOverSound.stop() #游戲結束聲音停止

這一章我們學習了python的pygame模塊,了解了pygame模塊的基礎知識和如何編寫植物大戰僵尸的DIY游戲。總之pygame在編寫視頻游戲上方便,高效,且具有高度的可移植性,幾乎可以在所有平臺和操作系統上運行。不要等了,趕緊去安裝pygame模塊,開始第一個游戲編程之旅吧。

https://study.163.com/provider/400000000398149/index.htm?share=2&shareId=400000000398149(博主視頻教學主頁)

總結

以上是生活随笔為你收集整理的pygame快乐游戏编程模块的全部內容,希望文章能夠幫你解決所遇到的問題。

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

久久国产自偷自偷免费一区调 | 国产网红无码精品视频 | 国产成人精品视频ⅴa片软件竹菊 | 日韩人妻少妇一区二区三区 | 国语精品一区二区三区 | 精品成在人线av无码免费看 | 在教室伦流澡到高潮hnp视频 | 熟女少妇人妻中文字幕 | 未满小14洗澡无码视频网站 | 亚拍精品一区二区三区探花 | 国内精品人妻无码久久久影院蜜桃 | 国産精品久久久久久久 | 好爽又高潮了毛片免费下载 | 日韩 欧美 动漫 国产 制服 | 国产精品对白交换视频 | 亚洲国产精品无码久久久久高潮 | 少妇激情av一区二区 | 无码av免费一区二区三区试看 | 久久精品中文字幕大胸 | 久久久婷婷五月亚洲97号色 | aⅴ在线视频男人的天堂 | 久久午夜夜伦鲁鲁片无码免费 | 精品人人妻人人澡人人爽人人 | 中文字幕av伊人av无码av | 亚洲 欧美 激情 小说 另类 | 国产午夜无码视频在线观看 | 亚洲欧洲无卡二区视頻 | 狠狠色丁香久久婷婷综合五月 | 永久免费观看国产裸体美女 | 亚洲精品久久久久中文第一幕 | 日日干夜夜干 | 撕开奶罩揉吮奶头视频 | 亚洲性无码av中文字幕 | 日本熟妇大屁股人妻 | 亚洲 a v无 码免 费 成 人 a v | 亚洲区小说区激情区图片区 | 久久久成人毛片无码 | 亚洲s色大片在线观看 | 国产免费久久精品国产传媒 | 激情内射日本一区二区三区 | 国产无套内射久久久国产 | 色狠狠av一区二区三区 | 日本成熟视频免费视频 | 欧美肥老太牲交大战 | 99麻豆久久久国产精品免费 | 少妇厨房愉情理9仑片视频 | 国产精品香蕉在线观看 | 国产激情精品一区二区三区 | 熟妇人妻激情偷爽文 | 老司机亚洲精品影院 | 精品无码av一区二区三区 | 无套内射视频囯产 | 九九热爱视频精品 | 日本精品少妇一区二区三区 | 色一情一乱一伦一区二区三欧美 | 色欲久久久天天天综合网精品 | 亚洲精品一区二区三区大桥未久 | 久久久国产精品无码免费专区 | 久久综合久久自在自线精品自 | 99精品无人区乱码1区2区3区 | 亚洲色成人中文字幕网站 | 无码国产激情在线观看 | 亚洲欧美日韩综合久久久 | 5858s亚洲色大成网站www | aⅴ亚洲 日韩 色 图网站 播放 | 日韩少妇内射免费播放 | a在线观看免费网站大全 | 在线播放免费人成毛片乱码 | 欧美激情一区二区三区成人 | 国产精品久久久久9999小说 | 特黄特色大片免费播放器图片 | 性生交大片免费看女人按摩摩 | 无码福利日韩神码福利片 | 久久久久免费精品国产 | 国产成人综合色在线观看网站 | 精品日本一区二区三区在线观看 | 国産精品久久久久久久 | 狠狠色色综合网站 | 国产农村妇女aaaaa视频 撕开奶罩揉吮奶头视频 | 青草青草久热国产精品 | 亚洲综合伊人久久大杳蕉 | 在线天堂新版最新版在线8 | 国产午夜亚洲精品不卡 | 在线看片无码永久免费视频 | 亚洲欧美日韩综合久久久 | 99视频精品全部免费免费观看 | 真人与拘做受免费视频 | 久久精品国产日本波多野结衣 | 国产精品亚洲一区二区三区喷水 | 亚洲无人区午夜福利码高清完整版 | 最新国产麻豆aⅴ精品无码 | 国产精品国产三级国产专播 | 国产精品资源一区二区 | 少妇邻居内射在线 | 国产精品18久久久久久麻辣 | 国产后入清纯学生妹 | 国产偷抇久久精品a片69 | 国产无套粉嫩白浆在线 | 性做久久久久久久免费看 | 亚洲精品久久久久久久久久久 | 国产精品va在线播放 | 领导边摸边吃奶边做爽在线观看 | 亚洲综合伊人久久大杳蕉 | 伦伦影院午夜理论片 | 色一情一乱一伦一区二区三欧美 | 成人毛片一区二区 | 98国产精品综合一区二区三区 | 四虎永久在线精品免费网址 | 一本久久伊人热热精品中文字幕 | 亚洲成a人片在线观看无码3d | 久久人人爽人人人人片 | 欧美老妇交乱视频在线观看 | 欧美日韩久久久精品a片 | 一本久久a久久精品亚洲 | 中文字幕中文有码在线 | 久久国语露脸国产精品电影 | 丰满岳乱妇在线观看中字无码 | 国产精品成人av在线观看 | 无码播放一区二区三区 | 亚洲乱亚洲乱妇50p | 蜜桃臀无码内射一区二区三区 | a在线亚洲男人的天堂 | 无码国产激情在线观看 | 久久亚洲精品中文字幕无男同 | 国产精品无码一区二区桃花视频 | 中文字幕乱码人妻二区三区 | 日韩精品无码一区二区中文字幕 | 日韩av无码中文无码电影 | 久热国产vs视频在线观看 | 国产综合久久久久鬼色 | 亚洲精品美女久久久久久久 | 大乳丰满人妻中文字幕日本 | 撕开奶罩揉吮奶头视频 | 玩弄人妻少妇500系列视频 | 性色av无码免费一区二区三区 | 亚洲va中文字幕无码久久不卡 | 亚洲区欧美区综合区自拍区 | 国产午夜亚洲精品不卡 | 精品水蜜桃久久久久久久 | 婷婷五月综合激情中文字幕 | 扒开双腿吃奶呻吟做受视频 | 51国偷自产一区二区三区 | 荫蒂添的好舒服视频囗交 | 亚洲自偷自拍另类第1页 | 欧美丰满熟妇xxxx | 国产内射老熟女aaaa | 人人爽人人澡人人高潮 | 正在播放东北夫妻内射 | 日日碰狠狠躁久久躁蜜桃 | 最新版天堂资源中文官网 | 窝窝午夜理论片影院 | 中文字幕+乱码+中文字幕一区 | 久久亚洲精品成人无码 | 亚洲性无码av中文字幕 | 亚洲日本va中文字幕 | 乱码av麻豆丝袜熟女系列 | 精品乱码久久久久久久 | 乱码av麻豆丝袜熟女系列 | 亚洲欧美日韩国产精品一区二区 | 无人区乱码一区二区三区 | 亚洲精品久久久久avwww潮水 | 红桃av一区二区三区在线无码av | 偷窥日本少妇撒尿chinese | 亚洲成色在线综合网站 | 给我免费的视频在线观看 | 国产又爽又猛又粗的视频a片 | www一区二区www免费 | 日本成熟视频免费视频 | 好屌草这里只有精品 | 国产精品无码久久av | 大屁股大乳丰满人妻 | 伊在人天堂亚洲香蕉精品区 | 日本大乳高潮视频在线观看 | 水蜜桃亚洲一二三四在线 | 亚洲 激情 小说 另类 欧美 | 亚洲日韩中文字幕在线播放 | 娇妻被黑人粗大高潮白浆 | 久久精品国产大片免费观看 | 精品少妇爆乳无码av无码专区 | 亚洲精品成a人在线观看 | 亚洲精品一区三区三区在线观看 | 最近的中文字幕在线看视频 | 色欲综合久久中文字幕网 | 亚洲精品一区二区三区婷婷月 | 丁香啪啪综合成人亚洲 | 一区二区三区乱码在线 | 欧洲 | 国产亚洲欧美日韩亚洲中文色 | 永久免费观看国产裸体美女 | 无码国产色欲xxxxx视频 | 红桃av一区二区三区在线无码av | 日日天干夜夜狠狠爱 | 亚洲熟悉妇女xxx妇女av | 人人妻人人澡人人爽欧美一区九九 | 午夜嘿嘿嘿影院 | 精品午夜福利在线观看 | 欧美大屁股xxxxhd黑色 | 亚洲一区av无码专区在线观看 | 国产两女互慰高潮视频在线观看 | 成人性做爰aaa片免费看不忠 | 人人妻人人藻人人爽欧美一区 | 精品国产aⅴ无码一区二区 | 一本色道久久综合亚洲精品不卡 | v一区无码内射国产 | 久久97精品久久久久久久不卡 | 亚洲精品国产第一综合99久久 | 高潮喷水的毛片 | 欧美日韩在线亚洲综合国产人 | 国产亚洲精品精品国产亚洲综合 | 国产超碰人人爽人人做人人添 | 国产麻豆精品一区二区三区v视界 | 三上悠亚人妻中文字幕在线 | 亚洲乱码日产精品bd | 色综合久久久久综合一本到桃花网 | 美女极度色诱视频国产 | 国产成人无码a区在线观看视频app | 亚洲色欲色欲天天天www | 国产色视频一区二区三区 | 乱人伦人妻中文字幕无码 | 国产成人无码av片在线观看不卡 | 久久精品丝袜高跟鞋 | 国产乱人伦偷精品视频 | 麻豆av传媒蜜桃天美传媒 | 天堂一区人妻无码 | 国产成人午夜福利在线播放 | 无码一区二区三区在线 | 国产午夜亚洲精品不卡下载 | 骚片av蜜桃精品一区 | 久久久久亚洲精品中文字幕 | 天天摸天天透天天添 | 国产成人无码av片在线观看不卡 | 成人欧美一区二区三区 | 老熟女乱子伦 | 中文精品无码中文字幕无码专区 | 波多野结衣av一区二区全免费观看 | 亚洲一区二区三区偷拍女厕 | 呦交小u女精品视频 | 国产精品国产自线拍免费软件 | 天下第一社区视频www日本 | 蜜臀aⅴ国产精品久久久国产老师 | 色妞www精品免费视频 | 日韩欧美中文字幕在线三区 | 精品国产成人一区二区三区 | 午夜福利一区二区三区在线观看 | 97人妻精品一区二区三区 | 国产午夜视频在线观看 | 无码av中文字幕免费放 | 国产精品毛片一区二区 | 强开小婷嫩苞又嫩又紧视频 | 少妇久久久久久人妻无码 | 日韩亚洲欧美精品综合 | 少妇性荡欲午夜性开放视频剧场 | 久久综合激激的五月天 | 无码成人精品区在线观看 | 亚洲乱亚洲乱妇50p | 风流少妇按摩来高潮 | 久久这里只有精品视频9 | 内射老妇bbwx0c0ck | 国产av无码专区亚洲awww | 人妻与老人中文字幕 | 高潮毛片无遮挡高清免费 | 日韩欧美群交p片內射中文 | 午夜福利不卡在线视频 | 九九在线中文字幕无码 | 久久99精品久久久久久动态图 | 成人综合网亚洲伊人 | 国产人妻精品午夜福利免费 | 永久免费观看美女裸体的网站 | 午夜丰满少妇性开放视频 | 亚洲国产精华液网站w | 欧美日韩色另类综合 | 丰满少妇人妻久久久久久 | 人妻有码中文字幕在线 | 欧美丰满老熟妇xxxxx性 | 午夜精品久久久久久久 | 国产真实夫妇视频 | 玩弄人妻少妇500系列视频 | 女人和拘做爰正片视频 | 精品水蜜桃久久久久久久 | 在线 国产 欧美 亚洲 天堂 | 欧美熟妇另类久久久久久多毛 | 天堂亚洲免费视频 | 亚洲狠狠婷婷综合久久 | 成人性做爰aaa片免费看 | 日日橹狠狠爱欧美视频 | 麻豆av传媒蜜桃天美传媒 | 少妇高潮一区二区三区99 | 国产精品第一国产精品 | 免费无码午夜福利片69 | 日韩精品a片一区二区三区妖精 | 久久国产自偷自偷免费一区调 | 鲁大师影院在线观看 | 亚洲 另类 在线 欧美 制服 | 国产超碰人人爽人人做人人添 | 精品久久8x国产免费观看 | 国产高清av在线播放 | 狂野欧美性猛交免费视频 | 色婷婷av一区二区三区之红樱桃 | 4hu四虎永久在线观看 | 欧美第一黄网免费网站 | 一本久道久久综合婷婷五月 | 国产网红无码精品视频 | 成人一在线视频日韩国产 | 人妻体内射精一区二区三四 | 乱码av麻豆丝袜熟女系列 | 国产成人无码一二三区视频 | 国产香蕉97碰碰久久人人 | 久久99久久99精品中文字幕 | 久久五月精品中文字幕 | 亚洲熟妇色xxxxx欧美老妇 | 亚洲人成人无码网www国产 | 中国大陆精品视频xxxx | 亚洲国产成人av在线观看 | 俺去俺来也在线www色官网 | 久久午夜无码鲁丝片秋霞 | 男女猛烈xx00免费视频试看 | 久久精品国产一区二区三区肥胖 | 久久久久久av无码免费看大片 | 国产午夜亚洲精品不卡 | 国内老熟妇对白xxxxhd | 欧美午夜特黄aaaaaa片 | 国产真实乱对白精彩久久 | 日本免费一区二区三区最新 | 亚洲精品久久久久久久久久久 | 麻豆人妻少妇精品无码专区 | 国产精品视频免费播放 | 狠狠色噜噜狠狠狠狠7777米奇 | 亚洲精品www久久久 | 国产精品美女久久久网av | 熟女体下毛毛黑森林 | 久久精品国产一区二区三区肥胖 | 99riav国产精品视频 | 少女韩国电视剧在线观看完整 | 丰满诱人的人妻3 | 青青青手机频在线观看 | 亚洲欧美精品伊人久久 | 亚洲 高清 成人 动漫 | 18精品久久久无码午夜福利 | 在线观看欧美一区二区三区 | 亚洲精品久久久久久一区二区 | 98国产精品综合一区二区三区 | 亚洲欧美精品aaaaaa片 | 国产热a欧美热a在线视频 | 亚洲国产午夜精品理论片 | 中文毛片无遮挡高清免费 | 免费国产成人高清在线观看网站 | 帮老师解开蕾丝奶罩吸乳网站 | 99久久精品午夜一区二区 | 国产精品亚洲五月天高清 | 色欲久久久天天天综合网精品 | 国内少妇偷人精品视频免费 | 国产精品久久久久7777 | 久久综合久久自在自线精品自 | 国产真实乱对白精彩久久 | 欧美三级a做爰在线观看 | 又大又紧又粉嫩18p少妇 | 精品aⅴ一区二区三区 | 精品无码成人片一区二区98 | 久久综合给合久久狠狠狠97色 | 最新版天堂资源中文官网 | 97无码免费人妻超级碰碰夜夜 | 色狠狠av一区二区三区 | 内射巨臀欧美在线视频 | 亚洲日韩一区二区三区 | 狂野欧美性猛xxxx乱大交 | 欧美野外疯狂做受xxxx高潮 | 激情内射日本一区二区三区 | 久久99热只有频精品8 | 一本加勒比波多野结衣 | 国产人妻人伦精品 | 成人无码精品1区2区3区免费看 | 国产乱人伦app精品久久 国产在线无码精品电影网 国产国产精品人在线视 | 色偷偷人人澡人人爽人人模 | 国产香蕉尹人综合在线观看 | 国产精品怡红院永久免费 | 国产精品人人爽人人做我的可爱 | 奇米综合四色77777久久 东京无码熟妇人妻av在线网址 | 亚洲综合色区中文字幕 | 天下第一社区视频www日本 | a在线亚洲男人的天堂 | 亚洲一区二区三区含羞草 | 亚洲a无码综合a国产av中文 | 亚洲无人区一区二区三区 | 天堂久久天堂av色综合 | 久久精品99久久香蕉国产色戒 | 日韩视频 中文字幕 视频一区 | 国产精品美女久久久网av | 亚洲国产欧美国产综合一区 | 99精品国产综合久久久久五月天 | 国产69精品久久久久app下载 | 久久久无码中文字幕久... | 亚洲国产精品久久久天堂 | 国产真实乱对白精彩久久 | 亚洲精品国产a久久久久久 | 在线观看国产午夜福利片 | 亚洲人成网站在线播放942 | 亚洲乱码国产乱码精品精 | 成人无码视频免费播放 | 男女性色大片免费网站 | 久久国产36精品色熟妇 | 四虎影视成人永久免费观看视频 | 无码任你躁久久久久久久 | 波多野结衣av在线观看 | 无码av免费一区二区三区试看 | 婷婷丁香五月天综合东京热 | 国产区女主播在线观看 | 人妻人人添人妻人人爱 | 亚洲中文字幕av在天堂 | 俄罗斯老熟妇色xxxx | 日欧一片内射va在线影院 | 性欧美熟妇videofreesex | 欧美日韩亚洲国产精品 | 色综合久久中文娱乐网 | 亚洲а∨天堂久久精品2021 | 亚拍精品一区二区三区探花 | 久久久久99精品国产片 | 性啪啪chinese东北女人 | 精品aⅴ一区二区三区 | 一本久道久久综合狠狠爱 | 欧美老妇交乱视频在线观看 | 中文字幕av无码一区二区三区电影 | 国产免费久久精品国产传媒 | 亚洲gv猛男gv无码男同 | 日韩人妻少妇一区二区三区 | 国产69精品久久久久app下载 | 日韩欧美成人免费观看 | 亚洲娇小与黑人巨大交 | 97久久超碰中文字幕 | av无码不卡在线观看免费 | www国产亚洲精品久久网站 | 97人妻精品一区二区三区 | 日韩欧美中文字幕在线三区 | 无码国内精品人妻少妇 | 国产精品99久久精品爆乳 | 沈阳熟女露脸对白视频 | 55夜色66夜色国产精品视频 | 日本www一道久久久免费榴莲 | 国产深夜福利视频在线 | 国产97人人超碰caoprom | 国产乱人无码伦av在线a | 国产午夜无码精品免费看 | 久久zyz资源站无码中文动漫 | 国产乱子伦视频在线播放 | 一本色道久久综合狠狠躁 | 国产亚洲人成a在线v网站 | 久久久久久久人妻无码中文字幕爆 | 国内精品久久毛片一区二区 | 毛片内射-百度 | 双乳奶水饱满少妇呻吟 | 丝袜 中出 制服 人妻 美腿 | 人人妻人人藻人人爽欧美一区 | 波多野42部无码喷潮在线 | 国产成人亚洲综合无码 | 又大又硬又黄的免费视频 | 丝袜 中出 制服 人妻 美腿 | 亚洲の无码国产の无码步美 | 女人被爽到呻吟gif动态图视看 | 国产精品久久久久久久9999 | 狠狠综合久久久久综合网 | 粉嫩少妇内射浓精videos | 一区二区传媒有限公司 | 动漫av网站免费观看 | 久久99精品久久久久婷婷 | 国内少妇偷人精品视频免费 | 亚洲 另类 在线 欧美 制服 | 亚洲熟妇色xxxxx欧美老妇 | 内射后入在线观看一区 | 丰腴饱满的极品熟妇 | 亚洲国产精品一区二区美利坚 | 欧美精品国产综合久久 | 国产真实夫妇视频 | 国产在线精品一区二区三区直播 | 免费男性肉肉影院 | 国产激情艳情在线看视频 | 国产精品亚洲а∨无码播放麻豆 | 人人爽人人澡人人高潮 | 性色欲情网站iwww九文堂 | 久久精品国产一区二区三区肥胖 | 久激情内射婷内射蜜桃人妖 | 亚洲欧美国产精品专区久久 | 日日天干夜夜狠狠爱 | 图片小说视频一区二区 | 国产成人无码av片在线观看不卡 | 中文字幕无码免费久久9一区9 | 国产精品久久国产三级国 | 一个人看的www免费视频在线观看 | 久久国产精品精品国产色婷婷 | 久久精品人人做人人综合 | 18精品久久久无码午夜福利 | 日日鲁鲁鲁夜夜爽爽狠狠 | 亚洲另类伦春色综合小说 | 丰满少妇人妻久久久久久 | 无码人妻少妇伦在线电影 | 久久久精品欧美一区二区免费 | 亚洲一区二区三区四区 | 久久精品无码一区二区三区 | 野狼第一精品社区 | av无码久久久久不卡免费网站 | 欧美人与善在线com | 强辱丰满人妻hd中文字幕 | 国产精品久久国产精品99 | 国产高潮视频在线观看 | 波多野结衣乳巨码无在线观看 | 中文字幕人妻丝袜二区 | 亚洲精品国产第一综合99久久 | 欧美肥老太牲交大战 | 无码中文字幕色专区 | 亚洲码国产精品高潮在线 | 午夜福利电影 | 国产高清不卡无码视频 | 伊人久久大香线蕉亚洲 | 嫩b人妻精品一区二区三区 | 亚洲欧洲无卡二区视頻 | √8天堂资源地址中文在线 | 粉嫩少妇内射浓精videos | 欧美刺激性大交 | 67194成是人免费无码 | 丰满肥臀大屁股熟妇激情视频 | 久久人人97超碰a片精品 | 久久99精品久久久久久动态图 | 黄网在线观看免费网站 | 国产成人一区二区三区别 | 300部国产真实乱 | 伊人色综合久久天天小片 | 成 人 网 站国产免费观看 | 牛和人交xxxx欧美 | 色偷偷人人澡人人爽人人模 | 扒开双腿疯狂进出爽爽爽视频 | 国产疯狂伦交大片 | 亚洲欧美综合区丁香五月小说 | 亚洲男人av天堂午夜在 | 乌克兰少妇xxxx做受 | 无遮无挡爽爽免费视频 | 内射巨臀欧美在线视频 | 国产一区二区三区影院 | 国产免费观看黄av片 | 精品久久久无码人妻字幂 | 国产综合色产在线精品 | 婷婷六月久久综合丁香 | 免费中文字幕日韩欧美 | 免费国产黄网站在线观看 | 宝宝好涨水快流出来免费视频 | 中国大陆精品视频xxxx | √天堂资源地址中文在线 | 在线精品亚洲一区二区 | 精品一区二区不卡无码av | 97精品国产97久久久久久免费 | 国产精品.xx视频.xxtv | 无套内射视频囯产 | 人人妻人人藻人人爽欧美一区 | 97无码免费人妻超级碰碰夜夜 | 亚洲欧美日韩综合久久久 | 国产午夜福利100集发布 | 精品国精品国产自在久国产87 | 国产一区二区不卡老阿姨 | 女人被男人躁得好爽免费视频 | 精品国产aⅴ无码一区二区 | 无码帝国www无码专区色综合 | 国产亚洲精品久久久闺蜜 | 国产高清不卡无码视频 | 免费无码av一区二区 | 狠狠色噜噜狠狠狠7777奇米 | 成熟女人特级毛片www免费 | 3d动漫精品啪啪一区二区中 | 国产成人无码午夜视频在线观看 | 日本va欧美va欧美va精品 | 中文字幕人妻无码一夲道 | 波多野结衣高清一区二区三区 | 色老头在线一区二区三区 | 狠狠色欧美亚洲狠狠色www | 久久www免费人成人片 | 亚洲一区二区三区含羞草 | 蜜臀av无码人妻精品 | 精品国偷自产在线 | 色窝窝无码一区二区三区色欲 | 国产精品亚洲五月天高清 | 美女极度色诱视频国产 | 亚洲国产av精品一区二区蜜芽 | 国产人妻久久精品二区三区老狼 | 真人与拘做受免费视频一 | 国内揄拍国内精品人妻 | 国产成人久久精品流白浆 | 成 人 网 站国产免费观看 | 日日噜噜噜噜夜夜爽亚洲精品 | 国产人成高清在线视频99最全资源 | 欧洲精品码一区二区三区免费看 | av在线亚洲欧洲日产一区二区 | 精品乱码久久久久久久 | 国产精品无码mv在线观看 | 国产精品久久福利网站 | 性欧美牲交xxxxx视频 | 欧美xxxx黑人又粗又长 | a国产一区二区免费入口 | 亚洲精品一区二区三区在线观看 | 女人色极品影院 | 色婷婷av一区二区三区之红樱桃 | 国产精品亚洲一区二区三区喷水 | 日本一卡二卡不卡视频查询 | 国产激情综合五月久久 | 亚洲国产午夜精品理论片 | 国产精品高潮呻吟av久久 | 十八禁视频网站在线观看 | 国产午夜精品一区二区三区嫩草 | 美女毛片一区二区三区四区 | 无码人妻少妇伦在线电影 | 丰满人妻一区二区三区免费视频 | 偷窥日本少妇撒尿chinese | 国产香蕉尹人综合在线观看 | 午夜无码区在线观看 | 日本丰满熟妇videos | 蜜桃视频韩日免费播放 | 女人和拘做爰正片视频 | 成人免费视频视频在线观看 免费 | 骚片av蜜桃精品一区 | 国产亚洲日韩欧美另类第八页 | 亚洲熟妇色xxxxx亚洲 | 亚洲男人av香蕉爽爽爽爽 | 88国产精品欧美一区二区三区 | 天天躁日日躁狠狠躁免费麻豆 | 日本一区二区三区免费高清 | 丰满少妇熟乱xxxxx视频 | 国产亚洲精品久久久久久久久动漫 | 成人aaa片一区国产精品 | 国产午夜亚洲精品不卡下载 | 青青久在线视频免费观看 | 1000部啪啪未满十八勿入下载 | 高清不卡一区二区三区 | 亚洲第一无码av无码专区 | 亚洲人成网站色7799 | 好爽又高潮了毛片免费下载 | 久久精品国产一区二区三区肥胖 | 夜夜夜高潮夜夜爽夜夜爰爰 | 麻豆成人精品国产免费 | 好男人www社区 | 免费观看的无遮挡av | 日本大香伊一区二区三区 | 精品偷自拍另类在线观看 | 久久精品人人做人人综合试看 | 无遮挡国产高潮视频免费观看 | 麻豆蜜桃av蜜臀av色欲av | 亚洲精品国产品国语在线观看 | 亚洲精品一区三区三区在线观看 | 亚洲精品美女久久久久久久 | 任你躁国产自任一区二区三区 | 亚洲色大成网站www国产 | 一本久久伊人热热精品中文字幕 | 久久久精品456亚洲影院 | 国产精品高潮呻吟av久久 | 中文字幕无码免费久久9一区9 | 久久久久亚洲精品中文字幕 | 奇米影视7777久久精品人人爽 | 18黄暴禁片在线观看 | 内射白嫩少妇超碰 | 嫩b人妻精品一区二区三区 | 欧美 亚洲 国产 另类 | 大乳丰满人妻中文字幕日本 | 国产凸凹视频一区二区 | 中文字幕无码免费久久99 | 啦啦啦www在线观看免费视频 | 久久伊人色av天堂九九小黄鸭 | 亚洲精品综合一区二区三区在线 | 国产成人久久精品流白浆 | 亚洲精品国产第一综合99久久 | 人妻无码αv中文字幕久久琪琪布 | 亚洲熟妇色xxxxx亚洲 | 熟女体下毛毛黑森林 | 性色av无码免费一区二区三区 | 欧美熟妇另类久久久久久多毛 | 欧美黑人性暴力猛交喷水 | 伊人色综合久久天天小片 | 久久人人爽人人爽人人片ⅴ | 国产手机在线αⅴ片无码观看 | 一本精品99久久精品77 | 亚洲伊人久久精品影院 | 国产黄在线观看免费观看不卡 | 一本色道久久综合亚洲精品不卡 | 国产成人精品必看 | 精品熟女少妇av免费观看 | 熟妇激情内射com | 亚洲爆乳精品无码一区二区三区 | 国内丰满熟女出轨videos | 亚洲欧洲中文日韩av乱码 | 国产真人无遮挡作爱免费视频 | 人人妻人人澡人人爽欧美一区 | 人妻aⅴ无码一区二区三区 | 国产精品久久精品三级 | 55夜色66夜色国产精品视频 | 无码精品人妻一区二区三区av | 性欧美熟妇videofreesex | 国产猛烈高潮尖叫视频免费 | 亚洲精品久久久久avwww潮水 | 日本精品久久久久中文字幕 | 亚洲国产精品久久久久久 | 中文字幕久久久久人妻 | 少妇无码av无码专区在线观看 | 水蜜桃色314在线观看 | 欧美日韩在线亚洲综合国产人 | 成人三级无码视频在线观看 | 性史性农村dvd毛片 | 日韩成人一区二区三区在线观看 | 无码午夜成人1000部免费视频 | 国产精品爱久久久久久久 | 少女韩国电视剧在线观看完整 | 日本丰满护士爆乳xxxx | 亚洲色无码一区二区三区 | 日韩av无码中文无码电影 | 亚洲小说图区综合在线 | 狠狠综合久久久久综合网 | 国产又爽又黄又刺激的视频 | 精品偷自拍另类在线观看 | 亚洲人成网站在线播放942 | 国产亚洲精品久久久闺蜜 | 131美女爱做视频 | 学生妹亚洲一区二区 | 成人一在线视频日韩国产 | 2020最新国产自产精品 | 欧美黑人乱大交 | 99精品无人区乱码1区2区3区 | 少妇久久久久久人妻无码 | 欧美老人巨大xxxx做受 | 日本熟妇人妻xxxxx人hd | а√天堂www在线天堂小说 | 美女极度色诱视频国产 | 日本va欧美va欧美va精品 | 999久久久国产精品消防器材 | 久久精品国产大片免费观看 | 大肉大捧一进一出视频出来呀 | 成熟妇人a片免费看网站 | 久久久久久久女国产乱让韩 | 久久午夜无码鲁丝片 | 久久久精品人妻久久影视 | 久久无码专区国产精品s | 亚洲а∨天堂久久精品2021 | 午夜福利一区二区三区在线观看 | 久久久精品456亚洲影院 | 亚洲 日韩 欧美 成人 在线观看 | 欧美午夜特黄aaaaaa片 | 精品一区二区三区波多野结衣 | 日韩亚洲欧美精品综合 | 午夜精品久久久内射近拍高清 | 国产成人亚洲综合无码 | 中文无码成人免费视频在线观看 | 国产猛烈高潮尖叫视频免费 | 永久免费精品精品永久-夜色 | 亚洲国产一区二区三区在线观看 | 一二三四在线观看免费视频 | 精品久久久久久人妻无码中文字幕 | 国产性猛交╳xxx乱大交 国产精品久久久久久无码 欧洲欧美人成视频在线 | 国产一区二区三区精品视频 | 任你躁在线精品免费 | 俺去俺来也在线www色官网 | 久久综合色之久久综合 | 爆乳一区二区三区无码 | 欧美真人作爱免费视频 | 欧美成人高清在线播放 | 国产精品第一国产精品 | 国产精品久久久久久无码 | 国产色视频一区二区三区 | 2020最新国产自产精品 | 国产av无码专区亚洲a∨毛片 | 性色欲网站人妻丰满中文久久不卡 | 性欧美大战久久久久久久 | 国产精品丝袜黑色高跟鞋 | 国色天香社区在线视频 | 亚洲 日韩 欧美 成人 在线观看 | 日日碰狠狠丁香久燥 | 女高中生第一次破苞av | 成人av无码一区二区三区 | 天堂а√在线中文在线 | 内射欧美老妇wbb | 国产suv精品一区二区五 | 久久久亚洲欧洲日产国码αv | 亚洲国产精品成人久久蜜臀 | 久久99国产综合精品 | 无码吃奶揉捏奶头高潮视频 | 国产av无码专区亚洲awww | 国产两女互慰高潮视频在线观看 | 国产亚洲tv在线观看 | 纯爱无遮挡h肉动漫在线播放 | 国产 浪潮av性色四虎 | 国产精品美女久久久久av爽李琼 | 熟女俱乐部五十路六十路av | 丰满肥臀大屁股熟妇激情视频 | 国产午夜精品一区二区三区嫩草 | 久久久精品456亚洲影院 | 日韩av无码一区二区三区不卡 | 国产精品高潮呻吟av久久 | 99久久人妻精品免费二区 | 女人被男人爽到呻吟的视频 | 久久视频在线观看精品 | 久在线观看福利视频 | 亚洲精品国偷拍自产在线观看蜜桃 | 动漫av一区二区在线观看 | 黑人大群体交免费视频 | 中文亚洲成a人片在线观看 | 精品aⅴ一区二区三区 | 日本xxxx色视频在线观看免费 | 欧美日韩在线亚洲综合国产人 | 妺妺窝人体色www婷婷 | 国产精品美女久久久 | 兔费看少妇性l交大片免费 | 日日碰狠狠躁久久躁蜜桃 | 天堂一区人妻无码 | 我要看www免费看插插视频 | 天堂亚洲免费视频 | 美女扒开屁股让男人桶 | 狂野欧美激情性xxxx | 欧美日韩在线亚洲综合国产人 | 夜夜夜高潮夜夜爽夜夜爰爰 | 亚洲呦女专区 | 丰满少妇人妻久久久久久 | 欧美激情一区二区三区成人 | 色欲人妻aaaaaaa无码 | 熟女俱乐部五十路六十路av | 美女扒开屁股让男人桶 | 狠狠色丁香久久婷婷综合五月 | 亚洲日韩一区二区三区 | 精品久久久久久人妻无码中文字幕 | 给我免费的视频在线观看 | 老熟女重囗味hdxx69 | 日本一区二区三区免费高清 | 水蜜桃色314在线观看 | 日日摸夜夜摸狠狠摸婷婷 | 欧美黑人巨大xxxxx | 国产精品18久久久久久麻辣 | 最近中文2019字幕第二页 | 国产乱子伦视频在线播放 | 久久久国产一区二区三区 | 国产精品久久福利网站 | 色情久久久av熟女人妻网站 | 欧美精品国产综合久久 | 日韩在线不卡免费视频一区 | 日本精品人妻无码免费大全 | 免费观看黄网站 | 久久这里只有精品视频9 | 人人澡人摸人人添 | 一区二区三区乱码在线 | 欧洲 | 成人免费视频在线观看 | 久久99久久99精品中文字幕 | 日本大乳高潮视频在线观看 | 99久久久国产精品无码免费 | aⅴ在线视频男人的天堂 | 日韩av无码一区二区三区 | 亚洲日本va中文字幕 | 蜜桃臀无码内射一区二区三区 | 久激情内射婷内射蜜桃人妖 | 久热国产vs视频在线观看 | 99在线 | 亚洲 | 欧美日本日韩 | 国产精品久久久一区二区三区 | 久久伊人色av天堂九九小黄鸭 | 麻豆md0077饥渴少妇 | 亚洲色偷偷偷综合网 | 一二三四社区在线中文视频 | 亚洲人成网站免费播放 | 无码国产激情在线观看 | 亚洲s码欧洲m码国产av | 亚洲自偷自拍另类第1页 | 亚洲无人区午夜福利码高清完整版 | 无码av中文字幕免费放 | 久久亚洲国产成人精品性色 | 久久99精品久久久久久 | 久久99精品久久久久久动态图 | 欧美黑人性暴力猛交喷水 | 在线观看国产午夜福利片 | 亚洲成av人片天堂网无码】 | 女人和拘做爰正片视频 | 精品无码国产自产拍在线观看蜜 | 国产乱子伦视频在线播放 | 中文字幕乱码人妻无码久久 | 国产疯狂伦交大片 | 天天综合网天天综合色 | 国产精品久久久久久久影院 | 国产精品人人妻人人爽 | 色一情一乱一伦一区二区三欧美 | 97久久精品无码一区二区 | 亚洲国产精品久久久久久 | 午夜肉伦伦影院 | 88国产精品欧美一区二区三区 | 少女韩国电视剧在线观看完整 | 三级4级全黄60分钟 | 国产两女互慰高潮视频在线观看 | 激情五月综合色婷婷一区二区 | 久久综合久久自在自线精品自 | 欧美性黑人极品hd | 狠狠色欧美亚洲狠狠色www | 亚洲人成网站免费播放 | 97久久国产亚洲精品超碰热 | 色综合久久久久综合一本到桃花网 | 无码av免费一区二区三区试看 | 伊人色综合久久天天小片 | 成人精品视频一区二区三区尤物 | 久久精品国产99精品亚洲 | 亚洲国产精品一区二区第一页 | 国产欧美精品一区二区三区 | 永久免费精品精品永久-夜色 | 国产欧美精品一区二区三区 | 麻豆果冻传媒2021精品传媒一区下载 | 99精品视频在线观看免费 | 99久久婷婷国产综合精品青草免费 | 理论片87福利理论电影 | 中文字幕无码免费久久9一区9 | 玩弄中年熟妇正在播放 | 中文精品久久久久人妻不卡 | 久久 国产 尿 小便 嘘嘘 | 成人无码视频免费播放 | 中文字幕中文有码在线 | 国产精品亚洲五月天高清 | 亚洲s色大片在线观看 | 麻花豆传媒剧国产免费mv在线 | 国产免费无码一区二区视频 | 成人av无码一区二区三区 | 久久综合激激的五月天 | 亚洲成a人片在线观看无码 | 亚洲欧美日韩成人高清在线一区 | 免费无码一区二区三区蜜桃大 | 国产精品无码久久av | 色一情一乱一伦 | 无码人妻丰满熟妇区五十路百度 | а√资源新版在线天堂 | 少妇性荡欲午夜性开放视频剧场 | 欧洲精品码一区二区三区免费看 | 亚洲人成影院在线观看 | 亚洲码国产精品高潮在线 | 乌克兰少妇xxxx做受 | 东京热男人av天堂 | 老熟妇乱子伦牲交视频 | 国产精品福利视频导航 | 特级做a爰片毛片免费69 | 131美女爱做视频 | 国产在线精品一区二区三区直播 | 国产精品高潮呻吟av久久4虎 | 国产一区二区三区四区五区加勒比 | 人妻少妇精品无码专区动漫 | 无码午夜成人1000部免费视频 | 国产激情一区二区三区 | 图片区 小说区 区 亚洲五月 | 红桃av一区二区三区在线无码av | 成人无码影片精品久久久 | 男女爱爱好爽视频免费看 | 97无码免费人妻超级碰碰夜夜 | 国产成人一区二区三区别 | 国产免费久久久久久无码 | 国产黄在线观看免费观看不卡 | 欧美国产亚洲日韩在线二区 | 97夜夜澡人人爽人人喊中国片 | 好屌草这里只有精品 | 无码av免费一区二区三区试看 | 国产在线精品一区二区三区直播 | 一本无码人妻在中文字幕免费 | 99久久精品日本一区二区免费 | 初尝人妻少妇中文字幕 | 一区二区传媒有限公司 | 中文字幕无码免费久久9一区9 | 四虎国产精品一区二区 | 亚洲精品成a人在线观看 | 性啪啪chinese东北女人 | 亚洲国产精品久久人人爱 | 奇米影视7777久久精品 | 久久99热只有频精品8 | 欧美性猛交xxxx富婆 | 97色伦图片97综合影院 | 成 人 免费观看网站 | 精品成在人线av无码免费看 | 久久久久免费看成人影片 | 天天爽夜夜爽夜夜爽 | 熟妇人妻无码xxx视频 | 麻豆果冻传媒2021精品传媒一区下载 | 久久综合九色综合97网 | 亚洲 欧美 激情 小说 另类 | 人妻少妇被猛烈进入中文字幕 | 欧美第一黄网免费网站 | 无码精品国产va在线观看dvd | 夜精品a片一区二区三区无码白浆 | 日韩av激情在线观看 | 2020久久香蕉国产线看观看 | 中文字幕 亚洲精品 第1页 | 国产成人人人97超碰超爽8 | 99精品无人区乱码1区2区3区 | 日产国产精品亚洲系列 | 亚洲经典千人经典日产 | 国产无套内射久久久国产 | 蜜臀av在线观看 在线欧美精品一区二区三区 | 香蕉久久久久久av成人 | 久久熟妇人妻午夜寂寞影院 | 国产精品美女久久久网av | 久久久久成人片免费观看蜜芽 | 久久国产精品精品国产色婷婷 | 中文字幕无码av波多野吉衣 | 熟妇人妻无乱码中文字幕 | v一区无码内射国产 | 国产亚洲美女精品久久久2020 | 国产两女互慰高潮视频在线观看 | 丰满少妇弄高潮了www | 亚洲s色大片在线观看 | 欧美日本精品一区二区三区 | 无码人妻久久一区二区三区不卡 | 国产电影无码午夜在线播放 | 国语自产偷拍精品视频偷 | 熟女少妇在线视频播放 | 精品久久8x国产免费观看 | 99久久精品国产一区二区蜜芽 | 亚洲成av人片在线观看无码不卡 | 无遮挡啪啪摇乳动态图 | 国产精品va在线观看无码 | 国产一区二区三区四区五区加勒比 | 国产精品99爱免费视频 | 亚洲 高清 成人 动漫 | 丝袜人妻一区二区三区 | 在线观看欧美一区二区三区 | 亚洲啪av永久无码精品放毛片 | 人人妻人人澡人人爽人人精品浪潮 | 亚洲日韩av一区二区三区四区 | 伊人久久大香线蕉av一区二区 | 精品国精品国产自在久国产87 | 人人超人人超碰超国产 | 精品日本一区二区三区在线观看 | 熟妇人妻中文av无码 | 亚洲 欧美 激情 小说 另类 | 午夜精品一区二区三区的区别 | 亚洲七七久久桃花影院 | 成熟妇人a片免费看网站 | 成人动漫在线观看 | 人人爽人人澡人人高潮 | 国产手机在线αⅴ片无码观看 | 欧美性黑人极品hd | 日韩视频 中文字幕 视频一区 | 国内丰满熟女出轨videos | 国产精品久久久久久无码 | 三级4级全黄60分钟 | 无码一区二区三区在线观看 | 国产亚洲精品久久久久久 | 国产成人无码午夜视频在线观看 | 熟妇女人妻丰满少妇中文字幕 | 久久亚洲中文字幕精品一区 | 中文字幕无码日韩欧毛 | 亚洲精品综合五月久久小说 | 欧美日韩一区二区三区自拍 | 国产一区二区三区精品视频 | 免费无码午夜福利片69 | 亚洲の无码国产の无码影院 | 无码av岛国片在线播放 | 西西人体www44rt大胆高清 | 青青草原综合久久大伊人精品 | 四虎影视成人永久免费观看视频 | 久久久久成人精品免费播放动漫 | 丰满肥臀大屁股熟妇激情视频 | 精品国精品国产自在久国产87 | 亚洲区小说区激情区图片区 | 色综合天天综合狠狠爱 | 特黄特色大片免费播放器图片 | 鲁鲁鲁爽爽爽在线视频观看 | 久久亚洲精品成人无码 | 欧美性生交活xxxxxdddd | 国产精品久久久久影院嫩草 | 激情亚洲一区国产精品 | 青青青手机频在线观看 | 偷窥日本少妇撒尿chinese | 亚洲成在人网站无码天堂 | 一本大道久久东京热无码av | 免费无码av一区二区 | aⅴ亚洲 日韩 色 图网站 播放 | 狠狠色噜噜狠狠狠7777奇米 | 亚洲欧美国产精品专区久久 | √天堂资源地址中文在线 | 国产精品久久国产精品99 | 久久久精品人妻久久影视 | 欧美亚洲日韩国产人成在线播放 | 99久久精品国产一区二区蜜芽 | 纯爱无遮挡h肉动漫在线播放 | 国产成人无码一二三区视频 | 高清国产亚洲精品自在久久 | 动漫av一区二区在线观看 | 国产精品高潮呻吟av久久 | v一区无码内射国产 | 久久精品中文闷骚内射 | 国产精品爱久久久久久久 | 国内精品九九久久久精品 | 国产精品理论片在线观看 | 丰满人妻一区二区三区免费视频 | av香港经典三级级 在线 | 亚洲午夜福利在线观看 | 秋霞成人午夜鲁丝一区二区三区 | 日本乱偷人妻中文字幕 | 亚洲狠狠婷婷综合久久 | 一区二区三区高清视频一 | 国色天香社区在线视频 | 乱码午夜-极国产极内射 | 人妻少妇精品无码专区二区 | 国产精品免费大片 | 99久久无码一区人妻 | 亚洲日本va午夜在线电影 | 无码国产激情在线观看 | 欧美性生交xxxxx久久久 | 亚洲综合另类小说色区 | 人人妻人人澡人人爽人人精品 | 国产色精品久久人妻 | 中文字幕无码免费久久99 | 香蕉久久久久久av成人 | 久久99国产综合精品 | www一区二区www免费 | 无码人妻久久一区二区三区不卡 | 97久久国产亚洲精品超碰热 | 一本久久a久久精品亚洲 | 人人澡人人妻人人爽人人蜜桃 | 天天拍夜夜添久久精品 | 国产超碰人人爽人人做人人添 | 丰满人妻一区二区三区免费视频 | 国内精品人妻无码久久久影院蜜桃 | 日韩av无码中文无码电影 | 婷婷色婷婷开心五月四房播播 | 中文字幕乱码人妻二区三区 | 人人妻人人澡人人爽精品欧美 | 六十路熟妇乱子伦 | 日韩人妻无码一区二区三区久久99 | 国产两女互慰高潮视频在线观看 | 亚洲色欲色欲欲www在线 | 又粗又大又硬毛片免费看 | 国产色在线 | 国产 | 久久精品人人做人人综合 | 一本大道久久东京热无码av | 久久熟妇人妻午夜寂寞影院 | 国产黄在线观看免费观看不卡 | 好爽又高潮了毛片免费下载 | 人妻天天爽夜夜爽一区二区 | 国产精品国产自线拍免费软件 | 天天拍夜夜添久久精品 | 给我免费的视频在线观看 | 精品亚洲成av人在线观看 | 中文字幕乱妇无码av在线 | 无遮挡啪啪摇乳动态图 | 国产 浪潮av性色四虎 | 波多野结衣av一区二区全免费观看 | 一本色道久久综合亚洲精品不卡 | 午夜时刻免费入口 | 国产成人综合在线女婷五月99播放 | 丰满诱人的人妻3 | 久久久久久a亚洲欧洲av冫 | 亚洲理论电影在线观看 | 人妻中文无码久热丝袜 | 国内精品久久久久久中文字幕 | 无码av免费一区二区三区试看 | 精品国产一区二区三区四区在线看 | 性色av无码免费一区二区三区 | 18禁黄网站男男禁片免费观看 | 99精品国产综合久久久久五月天 | 无码人妻黑人中文字幕 | 欧美丰满熟妇xxxx性ppx人交 | 九一九色国产 | 国产精品久久久久9999小说 | 久久精品国产亚洲精品 | 国产9 9在线 | 中文 | 超碰97人人射妻 | 亚洲中文无码av永久不收费 | 永久免费观看美女裸体的网站 | 97精品人妻一区二区三区香蕉 | 亚洲成色www久久网站 | 国内少妇偷人精品视频 | 无人区乱码一区二区三区 | 日日摸天天摸爽爽狠狠97 | 亚洲精品国产第一综合99久久 | 娇妻被黑人粗大高潮白浆 | 野狼第一精品社区 | a国产一区二区免费入口 | 日日碰狠狠躁久久躁蜜桃 | 久久精品人人做人人综合 | 成人片黄网站色大片免费观看 | 中国女人内谢69xxxxxa片 | 99久久久无码国产aaa精品 | 狠狠亚洲超碰狼人久久 | 亚洲乱码中文字幕在线 | 欧美野外疯狂做受xxxx高潮 | 色婷婷av一区二区三区之红樱桃 | 亚洲一区二区三区四区 | 精品少妇爆乳无码av无码专区 | 国产 精品 自在自线 | 国产精品沙发午睡系列 | 国产艳妇av在线观看果冻传媒 | 日本熟妇大屁股人妻 | 亚洲高清偷拍一区二区三区 | 97色伦图片97综合影院 | 人妻少妇被猛烈进入中文字幕 | 成人性做爰aaa片免费看不忠 | 一本久道久久综合狠狠爱 | 永久免费观看美女裸体的网站 | 乌克兰少妇xxxx做受 | 亚洲精品久久久久avwww潮水 | 精品人妻av区 | 18无码粉嫩小泬无套在线观看 | 欧美国产亚洲日韩在线二区 | 一本久久a久久精品亚洲 | 国产av无码专区亚洲awww | 夜夜夜高潮夜夜爽夜夜爰爰 | 国产午夜亚洲精品不卡 | 无码纯肉视频在线观看 | 亚洲男人av香蕉爽爽爽爽 | 亚洲精品成a人在线观看 | 亚洲 高清 成人 动漫 | 久久伊人色av天堂九九小黄鸭 | 骚片av蜜桃精品一区 | 欧美三级a做爰在线观看 | 国产精品理论片在线观看 | 久久久久成人精品免费播放动漫 | 成人免费视频在线观看 | 国模大胆一区二区三区 | 福利一区二区三区视频在线观看 | 色婷婷久久一区二区三区麻豆 | 一区二区传媒有限公司 | 国产女主播喷水视频在线观看 | 99久久人妻精品免费二区 | 欧美喷潮久久久xxxxx | 欧美日韩一区二区三区自拍 | 国产人妻精品一区二区三区 | 98国产精品综合一区二区三区 | 熟妇人妻中文av无码 | 国产免费久久久久久无码 | 无码午夜成人1000部免费视频 | 强辱丰满人妻hd中文字幕 | 日韩成人一区二区三区在线观看 | 亚洲人成影院在线无码按摩店 | 亚洲精品久久久久久一区二区 | 狠狠综合久久久久综合网 | 人妻少妇精品无码专区动漫 | 久久久久久久久蜜桃 | 国产婷婷色一区二区三区在线 | 九九在线中文字幕无码 | 天堂亚洲2017在线观看 | 国产精品久久久久久久影院 | 丰满少妇弄高潮了www | 国精产品一品二品国精品69xx | 东京热男人av天堂 | 国产成人无码区免费内射一片色欲 | 精品久久久久久亚洲精品 | 亚洲 日韩 欧美 成人 在线观看 | 婷婷六月久久综合丁香 | 久久久久久久久蜜桃 | 成人无码精品一区二区三区 | 成人免费视频一区二区 | 夜夜躁日日躁狠狠久久av | 午夜精品久久久内射近拍高清 | 亚洲成a人片在线观看日本 | 久久国产精品精品国产色婷婷 | 国产亚洲精品久久久久久大师 | 亚洲国产一区二区三区在线观看 | 中文字幕亚洲情99在线 | 色婷婷香蕉在线一区二区 | 97无码免费人妻超级碰碰夜夜 | 国产成人无码a区在线观看视频app | 日日鲁鲁鲁夜夜爽爽狠狠 | 亚洲国精产品一二二线 | 女高中生第一次破苞av | 亚洲午夜久久久影院 | 一区二区三区乱码在线 | 欧洲 | 国产三级精品三级男人的天堂 | 欧美日韩一区二区三区自拍 | 国产成人无码一二三区视频 | 激情内射亚州一区二区三区爱妻 | 欧美日本免费一区二区三区 | 偷窥日本少妇撒尿chinese | 国产精品国产三级国产专播 | 亚洲精品无码国产 | аⅴ资源天堂资源库在线 | 亚洲成av人影院在线观看 | 中文字幕久久久久人妻 | 国产成人一区二区三区别 | 久久久精品国产sm最大网站 | 国产精品久久久久9999小说 | 麻豆md0077饥渴少妇 | 午夜精品一区二区三区的区别 | 色一情一乱一伦 | 成人精品视频一区二区 | 亚洲天堂2017无码 | 国产在线一区二区三区四区五区 | 成人影院yy111111在线观看 | 国产97在线 | 亚洲 | 日本精品人妻无码免费大全 | 亚洲成av人在线观看网址 | 久久婷婷五月综合色国产香蕉 | 国产性生交xxxxx无码 | 色欲综合久久中文字幕网 | 成人三级无码视频在线观看 | 亚欧洲精品在线视频免费观看 | 欧美性色19p | 99久久婷婷国产综合精品青草免费 | 中国大陆精品视频xxxx | 亚洲国产成人a精品不卡在线 | 少妇性荡欲午夜性开放视频剧场 | 国产精品内射视频免费 | 少妇无套内谢久久久久 | 精品无码国产一区二区三区av | 亚洲国产午夜精品理论片 | 桃花色综合影院 | 中文字幕av伊人av无码av | 丰满人妻被黑人猛烈进入 | 亚洲狠狠色丁香婷婷综合 | 麻豆人妻少妇精品无码专区 | 四虎永久在线精品免费网址 | 一本大道伊人av久久综合 | 波多野结衣av在线观看 | 狂野欧美性猛交免费视频 | 人妻少妇被猛烈进入中文字幕 | 午夜理论片yy44880影院 | 久久久亚洲欧洲日产国码αv | 国产精品久久久午夜夜伦鲁鲁 | 天天摸天天碰天天添 | 久久国产精品精品国产色婷婷 | 国产精品人人妻人人爽 | 丰满人妻被黑人猛烈进入 | 狠狠色欧美亚洲狠狠色www | 又色又爽又黄的美女裸体网站 | 久久综合狠狠综合久久综合88 | 成人一区二区免费视频 | 精品一区二区不卡无码av | 亚洲第一无码av无码专区 | 国产午夜亚洲精品不卡下载 | 日本一区二区三区免费播放 | 伊人久久大香线焦av综合影院 | 99久久人妻精品免费一区 | 欧美色就是色 | 中国女人内谢69xxxxxa片 | 影音先锋中文字幕无码 | 青青青爽视频在线观看 | 青草青草久热国产精品 | 中文字幕无线码免费人妻 | 国产精品久久久av久久久 | 人妻与老人中文字幕 | 国产成人精品久久亚洲高清不卡 | 天天摸天天透天天添 | 国产精品对白交换视频 | 国产成人无码一二三区视频 | 欧美人与物videos另类 | 免费国产黄网站在线观看 | 97夜夜澡人人双人人人喊 | 久久精品国产99精品亚洲 | 国产suv精品一区二区五 | 正在播放老肥熟妇露脸 | 亚无码乱人伦一区二区 | 欧美人与善在线com | 毛片内射-百度 | 欧美一区二区三区视频在线观看 | 波多野结衣av在线观看 | 乱人伦人妻中文字幕无码 | 久久视频在线观看精品 | 狠狠色丁香久久婷婷综合五月 | 奇米影视888欧美在线观看 | 一本色道久久综合狠狠躁 | 国产精品欧美成人 | 性做久久久久久久久 | 亚洲一区二区三区香蕉 | 国产国语老龄妇女a片 | 婷婷色婷婷开心五月四房播播 | 久久www免费人成人片 | 日本在线高清不卡免费播放 | 在线观看国产一区二区三区 | 人人妻人人澡人人爽欧美精品 | 激情五月综合色婷婷一区二区 | 久久久久99精品成人片 | 亚洲国产欧美国产综合一区 | 国产精品无码一区二区桃花视频 | 任你躁在线精品免费 | 国产成人无码一二三区视频 | 亚洲综合伊人久久大杳蕉 | 国内精品久久毛片一区二区 | 国内老熟妇对白xxxxhd | 欧美第一黄网免费网站 | 在线观看免费人成视频 | 亚洲成a人片在线观看无码 | 无码一区二区三区在线 | 亚洲一区二区三区偷拍女厕 | 97精品国产97久久久久久免费 | 在线a亚洲视频播放在线观看 | 亚洲日韩av片在线观看 | 久久天天躁夜夜躁狠狠 | 日本一区二区三区免费播放 | 成人无码影片精品久久久 | 老子影院午夜精品无码 | 国产真人无遮挡作爱免费视频 | 成 人影片 免费观看 | 无码中文字幕色专区 | 日本精品高清一区二区 | 日韩精品成人一区二区三区 | 国产小呦泬泬99精品 | 熟妇女人妻丰满少妇中文字幕 | 又黄又爽又色的视频 | 久热国产vs视频在线观看 | 特黄特色大片免费播放器图片 | 亚洲男人av天堂午夜在 | 国产成人精品视频ⅴa片软件竹菊 | 无人区乱码一区二区三区 | 99久久久无码国产精品免费 | 一个人看的视频www在线 | 国产亲子乱弄免费视频 | 大地资源网第二页免费观看 | 亚洲精品国产第一综合99久久 | 久久视频在线观看精品 | 久久午夜无码鲁丝片 | 国产精品久免费的黄网站 | 99久久精品国产一区二区蜜芽 | 久久精品国产日本波多野结衣 | 性生交大片免费看女人按摩摩 | 熟女俱乐部五十路六十路av | 国产av剧情md精品麻豆 | 国产亚洲精品久久久久久大师 | 国产深夜福利视频在线 | 日本乱偷人妻中文字幕 | 呦交小u女精品视频 | 人妻少妇精品无码专区二区 | 精品国产麻豆免费人成网站 | 精品国产福利一区二区 | 亚洲中文字幕无码中字 | 99er热精品视频 | 丝袜足控一区二区三区 | 欧美黑人性暴力猛交喷水 | 欧美性猛交xxxx富婆 | 蜜桃av蜜臀av色欲av麻 999久久久国产精品消防器材 | 久久久精品456亚洲影院 | 一本色道久久综合狠狠躁 | 婷婷综合久久中文字幕蜜桃三电影 | 妺妺窝人体色www在线小说 | 内射欧美老妇wbb | 国产精品久久久久久亚洲毛片 | 97夜夜澡人人爽人人喊中国片 | 国产内射老熟女aaaa | 99久久精品国产一区二区蜜芽 | 免费人成在线视频无码 | 我要看www免费看插插视频 | 中国女人内谢69xxxxxa片 | 福利一区二区三区视频在线观看 | 正在播放老肥熟妇露脸 | 久久人妻内射无码一区三区 | 九九在线中文字幕无码 | 国产精品久久久久久久9999 | 国产精品爱久久久久久久 | 九九热爱视频精品 | 亚洲日韩一区二区 | 一个人看的视频www在线 | 精品aⅴ一区二区三区 | 国产成人无码a区在线观看视频app | 国语精品一区二区三区 | 日日鲁鲁鲁夜夜爽爽狠狠 | 色综合视频一区二区三区 | 国产又粗又硬又大爽黄老大爷视 | 久久综合九色综合欧美狠狠 | 天天拍夜夜添久久精品 | 午夜男女很黄的视频 | 精品人人妻人人澡人人爽人人 | 国产乱人偷精品人妻a片 | 国产精品久久久久久亚洲影视内衣 | 扒开双腿疯狂进出爽爽爽视频 | 亚洲精品鲁一鲁一区二区三区 | 亚洲人成网站色7799 | 日韩精品无码一本二本三本色 | 乱码av麻豆丝袜熟女系列 | 色欲综合久久中文字幕网 | 99麻豆久久久国产精品免费 | 日日躁夜夜躁狠狠躁 | 免费无码午夜福利片69 | 日产精品高潮呻吟av久久 | 精品一区二区三区波多野结衣 | 婷婷五月综合缴情在线视频 | 亚洲精品中文字幕久久久久 | 青青久在线视频免费观看 | 久久综合给合久久狠狠狠97色 | 国产成人一区二区三区在线观看 | 亚洲国产av精品一区二区蜜芽 | 九九久久精品国产免费看小说 | 日韩人妻无码中文字幕视频 | aⅴ亚洲 日韩 色 图网站 播放 | 国产另类ts人妖一区二区 | 女人被爽到呻吟gif动态图视看 | 白嫩日本少妇做爰 | 亚洲男人av天堂午夜在 | www一区二区www免费 | 国产精品国产三级国产专播 | 国产卡一卡二卡三 | 在线观看国产午夜福利片 | 国产乱人偷精品人妻a片 | 国产人妻久久精品二区三区老狼 | 免费观看激色视频网站 | 日本欧美一区二区三区乱码 | 国产黑色丝袜在线播放 | 色欲av亚洲一区无码少妇 | 免费观看黄网站 | 久久久国产精品无码免费专区 | 激情内射日本一区二区三区 | 激情内射日本一区二区三区 | www国产精品内射老师 | 人妻互换免费中文字幕 | 红桃av一区二区三区在线无码av | 久久99精品久久久久久动态图 | 国产亚洲精品久久久久久大师 | 色偷偷av老熟女 久久精品人妻少妇一区二区三区 | 国产精华av午夜在线观看 | 永久黄网站色视频免费直播 | 成在人线av无码免观看麻豆 | 福利一区二区三区视频在线观看 | 亚洲中文字幕va福利 | 永久免费观看国产裸体美女 | 51国偷自产一区二区三区 | 377p欧洲日本亚洲大胆 | 精品国产福利一区二区 | 国产一区二区三区精品视频 | 日韩欧美中文字幕公布 | 国产精品久久国产精品99 | 免费人成在线观看网站 | 国产精品久久久久无码av色戒 | 国产精品鲁鲁鲁 | 日韩欧美成人免费观看 | 99国产欧美久久久精品 | 国产网红无码精品视频 | 5858s亚洲色大成网站www | 欧美日韩一区二区综合 | 欧美性猛交内射兽交老熟妇 | 国内老熟妇对白xxxxhd | 成年女人永久免费看片 | 欧美35页视频在线观看 | 日韩人妻少妇一区二区三区 | 国产无遮挡吃胸膜奶免费看 | 青青久在线视频免费观看 | 色一情一乱一伦 | 国产亚洲精品久久久久久国模美 | 香港三级日本三级妇三级 | 又紧又大又爽精品一区二区 | 无码av中文字幕免费放 | 中文字幕乱妇无码av在线 | 小泽玛莉亚一区二区视频在线 | 少女韩国电视剧在线观看完整 | 成 人 网 站国产免费观看 | 久久婷婷五月综合色国产香蕉 | 一本色道婷婷久久欧美 | 国产精品无码永久免费888 | 日本乱偷人妻中文字幕 | 亚洲精品久久久久avwww潮水 | 久久99精品久久久久婷婷 | 亚洲人成无码网www | 国产精品久久国产三级国 | 天堂亚洲2017在线观看 | 国产av无码专区亚洲awww | 亚洲国产精品美女久久久久 | 丰满人妻精品国产99aⅴ | 欧美日韩视频无码一区二区三 | 欧美亚洲日韩国产人成在线播放 | 丁香花在线影院观看在线播放 | 女人色极品影院 | 亚洲国产精品无码久久久久高潮 | 少妇性荡欲午夜性开放视频剧场 | 成人av无码一区二区三区 | 男女爱爱好爽视频免费看 | 久久久中文字幕日本无吗 | 波多野结衣 黑人 | 欧美老妇交乱视频在线观看 | 亚洲色www成人永久网址 | 国产激情无码一区二区 | 久久久久成人精品免费播放动漫 | 欧洲极品少妇 | 国产97人人超碰caoprom | 亚洲国产精品久久人人爱 | 午夜精品一区二区三区的区别 | 夜精品a片一区二区三区无码白浆 | 国产无遮挡又黄又爽免费视频 | 特黄特色大片免费播放器图片 | 丰满人妻精品国产99aⅴ | 国产成人精品三级麻豆 | 婷婷色婷婷开心五月四房播播 | 无码av免费一区二区三区试看 | 女人被男人躁得好爽免费视频 | 亚洲精品久久久久中文第一幕 | 人妻少妇被猛烈进入中文字幕 | 乱码av麻豆丝袜熟女系列 | 无套内谢老熟女 | a片免费视频在线观看 | 精品水蜜桃久久久久久久 | 丰满诱人的人妻3 | 亚洲精品久久久久avwww潮水 | 久久人人爽人人爽人人片av高清 | 亚洲欧美色中文字幕在线 | 夜夜高潮次次欢爽av女 | 亚洲欧洲日本无在线码 | 波多野结衣一区二区三区av免费 | 丰满肥臀大屁股熟妇激情视频 | 精品久久久久久人妻无码中文字幕 | 亚洲精品国偷拍自产在线麻豆 | 天堂亚洲2017在线观看 | 国产成人一区二区三区别 | 亚洲一区二区三区在线观看网站 | 亚洲 日韩 欧美 成人 在线观看 | 一二三四在线观看免费视频 | 成人无码视频在线观看网站 | 欧美日韩一区二区免费视频 | 老太婆性杂交欧美肥老太 | 图片小说视频一区二区 | 97精品国产97久久久久久免费 | 久久综合九色综合97网 | 亚洲人成影院在线观看 | 欧美性猛交内射兽交老熟妇 | 久在线观看福利视频 | 国产综合久久久久鬼色 | 丰满人妻一区二区三区免费视频 | 欧美日本免费一区二区三区 | 欧美激情内射喷水高潮 | 中文无码伦av中文字幕 | 亚洲综合无码一区二区三区 | 伊人久久大香线焦av综合影院 | 大地资源网第二页免费观看 | 午夜无码人妻av大片色欲 | 国产乱人伦app精品久久 国产在线无码精品电影网 国产国产精品人在线视 | 中文无码成人免费视频在线观看 | 国产精品久久福利网站 | 国产精品亚洲lv粉色 | 久久亚洲精品中文字幕无男同 | 中文字幕无码人妻少妇免费 | 人人爽人人澡人人人妻 | 亚无码乱人伦一区二区 | 久久久久av无码免费网 | 丝袜足控一区二区三区 | 色一情一乱一伦一视频免费看 | 强辱丰满人妻hd中文字幕 | 亚洲人成网站在线播放942 | 少妇人妻大乳在线视频 | 性欧美牲交xxxxx视频 | 亚洲aⅴ无码成人网站国产app | 无码中文字幕色专区 | 无码人妻出轨黑人中文字幕 | 亚洲人成影院在线无码按摩店 | 窝窝午夜理论片影院 | 日本一区二区更新不卡 | 少妇性l交大片欧洲热妇乱xxx | 两性色午夜免费视频 | 亚洲毛片av日韩av无码 | 无码一区二区三区在线 | 99久久精品无码一区二区毛片 | 少妇被黑人到高潮喷出白浆 | 亚洲国产av精品一区二区蜜芽 | 亚洲综合在线一区二区三区 | 天干天干啦夜天干天2017 | 亚洲国产精品毛片av不卡在线 | 国产农村妇女高潮大叫 | 欧美精品在线观看 | 日本高清一区免费中文视频 | 亚洲一区二区三区香蕉 | 麻豆国产97在线 | 欧洲 | 中文亚洲成a人片在线观看 | 国产亚洲人成a在线v网站 | 亚洲综合无码一区二区三区 | 人人爽人人澡人人人妻 | 国产情侣作爱视频免费观看 | 最近的中文字幕在线看视频 | 奇米影视7777久久精品 | 中文字幕乱码亚洲无线三区 | 亚洲va欧美va天堂v国产综合 | 高潮毛片无遮挡高清免费视频 | 麻豆国产人妻欲求不满谁演的 | 丰满护士巨好爽好大乳 | 亚洲男人av天堂午夜在 | 99久久人妻精品免费二区 | 老太婆性杂交欧美肥老太 | 熟妇人妻无乱码中文字幕 | 伊人久久大香线蕉午夜 | 永久免费观看国产裸体美女 | 老熟妇乱子伦牲交视频 | 成人无码视频免费播放 | 久久久久成人精品免费播放动漫 | 国产精品无码成人午夜电影 | 国产成人一区二区三区别 | 亚洲精品久久久久avwww潮水 | 永久免费观看美女裸体的网站 | 亚洲乱码中文字幕在线 | 久久久精品国产sm最大网站 | 亚洲人成无码网www | 国产福利视频一区二区 | 久久久久久久久888 | 久久成人a毛片免费观看网站 | 国产三级精品三级男人的天堂 | 国产偷自视频区视频 | 欧美日韩一区二区综合 | 亚洲成熟女人毛毛耸耸多 | 未满成年国产在线观看 |