午夜视频免费看_日韩三级电影网站_国产精品久久一级_亚洲一级在线播放_人妻体内射精一区二区三区_91夜夜揉人人捏人人添红杏_91福利在线导航_国产又粗又猛又黄又爽无遮挡_欧美日韩一区在线播放_中文字幕一区二区三区四区不卡 _日日夜夜精品视频免费观看_欧美韩日一区二区三区

主頁 > 知識庫 > Pygame做一期吃豆子游戲的示例代碼

Pygame做一期吃豆子游戲的示例代碼

熱門標(biāo)簽:廈門crm外呼系統(tǒng)如何 n400電話申請多少錢 長春人工智能電銷機(jī)器人官網(wǎng) 西藏快速地圖標(biāo)注地點(diǎn) 百應(yīng)ai電銷機(jī)器人鄭州 女王谷地圖標(biāo)注 地圖標(biāo)注推廣單頁 如何在地圖標(biāo)注文字 ai地圖標(biāo)注

Pygame的歷史

Pygame是一個(gè)利用SDL庫的寫就的游戲庫,SDL呢,全名Simple DirectMedia Layer,是一位叫做Sam Lantinga的大牛寫的,據(jù)說他為了讓Loki(致力于向Linux上移植Windows的游戲的一家大好人公司,可惜已經(jīng)倒閉,唉好人不長命啊……)更有效的工作,創(chuàng)造了這個(gè)東東。

SDL是用C寫的,不過它也可以使用C++進(jìn)行開發(fā),當(dāng)然還有很多其它的語言,Pygame就是Python中使用它的一個(gè)庫。Pygame已經(jīng)存在很多時(shí)間了,許多優(yōu)秀的程序員加入其中,把Pygame做得越來越好。

開發(fā)工具:

Python版本:3.6.4
相關(guān)模塊:
pygame模塊;
以及一些Python自帶的模塊。

安裝Python并添加到環(huán)境變量,
pip安裝需要的相關(guān)模塊即可。

游戲簡介:

玩家通過↑↓←→鍵控制游戲的主角吃豆人吃掉藏在迷宮內(nèi)的所有豆子,并且不能被鬼魂抓到。
若能順利吃完迷宮內(nèi)的所有豆子并且不被鬼魂抓到,則游戲勝利,否則游戲失敗。

Step1:定義游戲精靈類

① 墻類:


② 食物類:


③ 角色類:

角色類包括吃豆人和鬼魂,鬼魂由電腦控制其運(yùn)動軌跡,吃豆人由玩家控制其運(yùn)動軌跡。
顯然,其均需具備更新角色位置和改變角色運(yùn)動方向的能力,其源代碼如下:

Step2:設(shè)計(jì)游戲地圖

① 創(chuàng)建墻:


② 創(chuàng)建門:


③ 創(chuàng)建角色:


④ 創(chuàng)建食物:

Step3:設(shè)計(jì)游戲主循環(huán)

接下來開始設(shè)計(jì)游戲主循環(huán)。首先是初始化:


然后定義主函數(shù):


其中startLevelGame函數(shù)用于開始某一關(guān)游戲,其源代碼如下:


showText函數(shù)用于在游戲結(jié)束或關(guān)卡切換時(shí)在游戲界面中顯示提示性文字,其源代碼如下:

源代碼:

#吃豆子
import os,sys
import sys
import pygame
import random
BLACK = (0, 0, 0)
WHITE = (255, 255, 255)
BLUE = (0, 0, 255)
GREEN = (0, 255, 0)
RED = (255, 0, 0)
YELLOW = (255, 255, 0)
PURPLE = (255, 0, 255)
SKYBLUE = (0, 191, 255)
if getattr(sys, 'frozen', False):
  cur_path = sys._MEIPASS
else:
  cur_path = os.path.dirname(__file__)
BGMPATH = os.path.join(cur_path, 'resources/sounds/bg.mp3')
ICONPATH = os.path.join(cur_path,'resources/images/icon.png')
FONTPATH = os.path.join(cur_path,'resources/font/ALGER.TTF')
HEROPATH = os.path.join(cur_path,'resources/images/pacman.png')
BlinkyPATH = os.path.join(cur_path,'resources/images/Blinky.png')
ClydePATH = os.path.join(cur_path,'resources/images/Clyde.png')
InkyPATH = os.path.join(cur_path,'resources/images/Inky.png')
PinkyPATH = os.path.join(cur_path,'resources/images/Pinky.png')
NUMLEVELS = 1
class Wall(pygame.sprite.Sprite):
	def __init__(self, x, y, width, height, color, **kwargs):
		pygame.sprite.Sprite.__init__(self)
		self.image = pygame.Surface([width, height])
		self.image.fill(color)
		self.rect = self.image.get_rect()
		self.rect.left = x
		self.rect.top = y
class Food(pygame.sprite.Sprite):
	def __init__(self, x, y, width, height, color, bg_color, **kwargs):
		pygame.sprite.Sprite.__init__(self)
		self.image = pygame.Surface([width, height])
		self.image.fill(bg_color)
		self.image.set_colorkey(bg_color)
		pygame.draw.ellipse(self.image, color, [0, 0, width, height])
		self.rect = self.image.get_rect()
		self.rect.left = x
		self.rect.top = y
class Player(pygame.sprite.Sprite):
	def __init__(self, x, y, role_image_path):
		pygame.sprite.Sprite.__init__(self)
		self.role_name = role_image_path.split('/')[-1].split('.')[0]
		self.base_image = pygame.image.load(role_image_path).convert()
		self.image = self.base_image.copy()
		self.rect = self.image.get_rect()
		self.rect.left = x
		self.rect.top = y
		self.prev_x = x
		self.prev_y = y
		self.base_speed = [30, 30]
		self.speed = [0, 0]
		self.is_move = False
		self.tracks = []
		self.tracks_loc = [0, 0]
	def changeSpeed(self, direction):
		if direction[0]  0:
			self.image = pygame.transform.flip(self.base_image, True, False)
		elif direction[0] > 0:
			self.image = self.base_image.copy()
		elif direction[1]  0:
			self.image = pygame.transform.rotate(self.base_image, 90)
		elif direction[1] > 0:
			self.image = pygame.transform.rotate(self.base_image, -90)
		self.speed = [direction[0] * self.base_speed[0], direction[1] * self.base_speed[1]]
		return self.speed
	def update(self, wall_sprites, gate_sprites):
		if not self.is_move:
			return False
		x_prev = self.rect.left
		y_prev = self.rect.top
		self.rect.left += self.speed[0]
		self.rect.top += self.speed[1]
		is_collide = pygame.sprite.spritecollide(self, wall_sprites, False)
		if gate_sprites is not None:
			if not is_collide:
				is_collide = pygame.sprite.spritecollide(self, gate_sprites, False)
		if is_collide:
			self.rect.left = x_prev
			self.rect.top = y_prev
			return False
		return True
	def randomDirection(self):
		return random.choice([[-0.5, 0], [0.5, 0], [0, 0.5], [0, -0.5]])
class Level1():
	def __init__(self):
		self.info = 'level1'
	def setupWalls(self, wall_color):
		self.wall_sprites = pygame.sprite.Group()
		wall_positions = [[0, 0, 6, 600],
						 [0, 0, 600, 6],
						 [0, 600, 606, 6],
						 [600, 0, 6, 606],
						 [300, 0, 6, 66],
						 [60, 60, 186, 6],
						 [360, 60, 186, 6],
						 [60, 120, 66, 6],
						 [60, 120, 6, 126],
						 [180, 120, 246, 6],
						 [300, 120, 6, 66],
						 [480, 120, 66, 6],
						 [540, 120, 6, 126],
						 [120, 180, 126, 6],
						 [120, 180, 6, 126],
						 [360, 180, 126, 6],
						 [480, 180, 6, 126],
						 [180, 240, 6, 126],
						 [180, 360, 246, 6],
						 [420, 240, 6, 126],
						 [240, 240, 42, 6],
						 [324, 240, 42, 6],
						 [240, 240, 6, 66],
						 [240, 300, 126, 6],
						 [360, 240, 6, 66],
						 [0, 300, 66, 6],
						 [540, 300, 66, 6],
						 [60, 360, 66, 6],
						 [60, 360, 6, 186],
						 [480, 360, 66, 6],
						 [540, 360, 6, 186],
						 [120, 420, 366, 6],
						 [120, 420, 6, 66],
						 [480, 420, 6, 66],
						 [180, 480, 246, 6],
						 [300, 480, 6, 66],
						 [120, 540, 126, 6],
						 [360, 540, 126, 6]]
		for wall_position in wall_positions:
			wall = Wall(*wall_position, wall_color)
			self.wall_sprites.add(wall)
		return self.wall_sprites
	def setupGate(self, gate_color):
		self.gate_sprites = pygame.sprite.Group()
		self.gate_sprites.add(Wall(282, 242, 42, 2, gate_color))
		return self.gate_sprites
	def setupPlayers(self, hero_image_path, ghost_images_path):
		self.hero_sprites = pygame.sprite.Group()
		self.ghost_sprites = pygame.sprite.Group()
		self.hero_sprites.add(Player(287, 439, hero_image_path))
		for each in ghost_images_path:
			role_name = each.split('/')[-1].split('.')[0]
			if role_name == 'Blinky':
				player = Player(287, 199, each)
				player.is_move = True
				player.tracks = [[0, -0.5, 4], [0.5, 0, 9], [0, 0.5, 11], [0.5, 0, 3], [0, 0.5, 7], [-0.5, 0, 11], [0, 0.5, 3],
								 [0.5, 0, 15], [0, -0.5, 15], [0.5, 0, 3], [0, -0.5, 11], [-0.5, 0, 3], [0, -0.5, 11], [-0.5, 0, 3],
								 [0, -0.5, 3], [-0.5, 0, 7], [0, -0.5, 3], [0.5, 0, 15], [0, 0.5, 15], [-0.5, 0, 3], [0, 0.5, 3],
								 [-0.5, 0, 3], [0, -0.5, 7], [-0.5, 0, 3], [0, 0.5, 7], [-0.5, 0, 11], [0, -0.5, 7], [0.5, 0, 5]]
				self.ghost_sprites.add(player)
			elif role_name == 'Clyde':
				player = Player(319, 259, each)
				player.is_move = True
				player.tracks = [[-1, 0, 2], [0, -0.5, 4], [0.5, 0, 5], [0, 0.5, 7], [-0.5, 0, 11], [0, -0.5, 7],
								 [-0.5, 0, 3], [0, 0.5, 7], [-0.5, 0, 7], [0, 0.5, 15], [0.5, 0, 15], [0, -0.5, 3],
								 [-0.5, 0, 11], [0, -0.5, 7], [0.5, 0, 3], [0, -0.5, 11], [0.5, 0, 9]]
				self.ghost_sprites.add(player)
			elif role_name == 'Inky':
				player = Player(255, 259, each)
				player.is_move = True
				player.tracks = [[1, 0, 2], [0, -0.5, 4], [0.5, 0, 10], [0, 0.5, 7], [0.5, 0, 3], [0, -0.5, 3],
								 [0.5, 0, 3], [0, -0.5, 15], [-0.5, 0, 15], [0, 0.5, 3], [0.5, 0, 15], [0, 0.5, 11],
								 [-0.5, 0, 3], [0, -0.5, 7], [-0.5, 0, 11], [0, 0.5, 3], [-0.5, 0, 11], [0, 0.5, 7],
								 [-0.5, 0, 3], [0, -0.5, 3], [-0.5, 0, 3], [0, -0.5, 15], [0.5, 0, 15], [0, 0.5, 3],
								 [-0.5, 0, 15], [0, 0.5, 11], [0.5, 0, 3], [0, -0.5, 11], [0.5, 0, 11], [0, 0.5, 3], [0.5, 0, 1]]
				self.ghost_sprites.add(player)
			elif role_name == 'Pinky':
				player = Player(287, 259, each)
				player.is_move = True
				player.tracks = [[0, -1, 4], [0.5, 0, 9], [0, 0.5, 11], [-0.5, 0, 23], [0, 0.5, 7], [0.5, 0, 3],
								 [0, -0.5, 3], [0.5, 0, 19], [0, 0.5, 3], [0.5, 0, 3], [0, 0.5, 3], [0.5, 0, 3],
								 [0, -0.5, 15], [-0.5, 0, 7], [0, 0.5, 3], [-0.5, 0, 19], [0, -0.5, 11], [0.5, 0, 9]]
				self.ghost_sprites.add(player)
		return self.hero_sprites, self.ghost_sprites
	def setupFood(self, food_color, bg_color):
		self.food_sprites = pygame.sprite.Group()
		for row in range(19):
			for col in range(19):
				if (row == 7 or row == 8) and (col == 8 or col == 9 or col == 10):
					continue
				else:
					food = Food(30*col+32, 30*row+32, 4, 4, food_color, bg_color)
					is_collide = pygame.sprite.spritecollide(food, self.wall_sprites, False)
					if is_collide:
						continue
					is_collide = pygame.sprite.spritecollide(food, self.hero_sprites, False)
					if is_collide:
						continue
					self.food_sprites.add(food)
		return self.food_sprites
def startLevelGame(level, screen, font):
  clock = pygame.time.Clock()
  SCORE = 0
  wall_sprites = level.setupWalls(SKYBLUE)
  gate_sprites = level.setupGate(WHITE)
  hero_sprites, ghost_sprites = level.setupPlayers(HEROPATH, [BlinkyPATH, ClydePATH, InkyPATH, PinkyPATH])
  food_sprites = level.setupFood(YELLOW, WHITE)
  is_clearance = False
  while True:
    for event in pygame.event.get():
      if event.type == pygame.QUIT:
        pygame.quit()
        sys.exit(-1)
      if event.type == pygame.KEYDOWN:
        if event.key == pygame.K_LEFT:
          for hero in hero_sprites:
            hero.changeSpeed([-1, 0])
            hero.is_move = True
        elif event.key == pygame.K_RIGHT:
          for hero in hero_sprites:
            hero.changeSpeed([1, 0])
            hero.is_move = True
        elif event.key == pygame.K_UP:
          for hero in hero_sprites:
            hero.changeSpeed([0, -1])
            hero.is_move = True
        elif event.key == pygame.K_DOWN:
          for hero in hero_sprites:
            hero.changeSpeed([0, 1])
            hero.is_move = True
      if event.type == pygame.KEYUP:
        if (event.key == pygame.K_LEFT) or (event.key == pygame.K_RIGHT) or (event.key == pygame.K_UP) or (event.key == pygame.K_DOWN):
          hero.is_move = False
    screen.fill(BLACK)
    for hero in hero_sprites:
      hero.update(wall_sprites, gate_sprites)
    hero_sprites.draw(screen)
    for hero in hero_sprites:
      food_eaten = pygame.sprite.spritecollide(hero, food_sprites, True)
    SCORE += len(food_eaten)
    wall_sprites.draw(screen)
    gate_sprites.draw(screen)
    food_sprites.draw(screen)
    for ghost in ghost_sprites:
      if ghost.tracks_loc[1]  ghost.tracks[ghost.tracks_loc[0]][2]:
        ghost.changeSpeed(ghost.tracks[ghost.tracks_loc[0]][0: 2])
        ghost.tracks_loc[1] += 1
      else:
        if ghost.tracks_loc[0]  len(ghost.tracks) - 1:
          ghost.tracks_loc[0] += 1
        elif ghost.role_name == 'Clyde':
          ghost.tracks_loc[0] = 2
        else:
          ghost.tracks_loc[0] = 0
        ghost.changeSpeed(ghost.tracks[ghost.tracks_loc[0]][0: 2])
        ghost.tracks_loc[1] = 0
      if ghost.tracks_loc[1]  ghost.tracks[ghost.tracks_loc[0]][2]:
        ghost.changeSpeed(ghost.tracks[ghost.tracks_loc[0]][0: 2])
      else:
        if ghost.tracks_loc[0]  len(ghost.tracks) - 1:
          loc0 = ghost.tracks_loc[0] + 1
        elif ghost.role_name == 'Clyde':
          loc0 = 2
        else:
          loc0 = 0
        ghost.changeSpeed(ghost.tracks[loc0][0: 2])
      ghost.update(wall_sprites, None)
    ghost_sprites.draw(screen)
    score_text = font.render("Score: %s" % SCORE, True, RED)
    screen.blit(score_text, [10, 10])
    if len(food_sprites) == 0:
      is_clearance = True
      break
    if pygame.sprite.groupcollide(hero_sprites, ghost_sprites, False, False):
      is_clearance = False
      break
    pygame.display.flip()
    clock.tick(10)
  return is_clearance
def showText(screen, font, is_clearance, flag=False):
  clock = pygame.time.Clock()
  msg = 'Game Over!' if not is_clearance else 'Congratulations, you won!'
  positions = [[235, 233], [65, 303], [170, 333]] if not is_clearance else [[145, 233], [65, 303], [170, 333]]
  surface = pygame.Surface((400, 200))
  surface.set_alpha(10)
  surface.fill((128, 128, 128))
  screen.blit(surface, (100, 200))
  texts = [font.render(msg, True, WHITE),
			  font.render('Press ENTER to continue or play again.', True, WHITE),
			  font.render('Press ESCAPE to quit.', True, WHITE)]
  while True:
    for event in pygame.event.get():
      if event.type == pygame.QUIT:
        pygame.quit()
        sys.exit(-1)
      if event.type == pygame.KEYDOWN:
        if event.key == pygame.K_RETURN:
          if is_clearance:
            if not flag:
              return
            else:
              main(initialize())
          else:
            main(initialize())
        elif event.key == pygame.K_ESCAPE:
          pygame.quit()
          sys.exit(-1)
    for idx, (text, position) in enumerate(zip(texts, positions)):
      screen.blit(text, position)
    pygame.display.flip()
    clock.tick(10)

def initialize():
  pygame.init()
  icon_image = pygame.image.load(ICONPATH)
  pygame.display.set_icon(icon_image)
  screen = pygame.display.set_mode([606, 606])
  pygame.display.set_caption('吃豆子')
  return screen

def main(screen):
  try:
    pygame.mixer.init()
    pygame.mixer.music.load(BGMPATH)
    pygame.mixer.music.play(-1, 0.0)
  except:
    pass
  pygame.font.init()
  font_small = pygame.font.Font(FONTPATH, 18)
  font_big = pygame.font.Font(FONTPATH, 24)
  for num_level in range(1, NUMLEVELS+1):
    if num_level == 1:
      level = Level1()
      is_clearance = startLevelGame(level, screen, font_small)
      if num_level == NUMLEVELS:
        showText(screen, font_big, is_clearance, True)
      else:
        showText(screen, font_big, is_clearance)
if __name__ == "__main__":
  main(initialize())

到此這篇關(guān)于Pygame做一期吃豆子游戲的示例代碼的文章就介紹到這了,更多相關(guān)Pygame 吃豆子內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Python3+Pygame實(shí)現(xiàn)射擊游戲完整代碼
  • python pygame 憤怒的小鳥游戲示例代碼
  • python基于pygame實(shí)現(xiàn)飛機(jī)大作戰(zhàn)小游戲
  • python+pygame實(shí)現(xiàn)坦克大戰(zhàn)小游戲的示例代碼(可以自定義子彈速度)
  • 使用pygame實(shí)現(xiàn)垃圾分類小游戲功能(已獲校級二等獎)
  • 教你如何在Pygame 中移動你的游戲角色

標(biāo)簽:亳州 廊坊 內(nèi)江 黔東 興安盟 綿陽 渭南 拉薩

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Pygame做一期吃豆子游戲的示例代碼》,本文關(guān)鍵詞  Pygame,做,一期,吃,豆子,游,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Pygame做一期吃豆子游戲的示例代碼》相關(guān)的同類信息!
  • 本頁收集關(guān)于Pygame做一期吃豆子游戲的示例代碼的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    亚洲AV无码成人片在线观看| 99热这里只有精品免费| 无码人妻精品一区二区三区不卡| 99国产高清| 一级特黄色大片| 2018国产在线| 性色av一区二区三区在线观看| 中文字幕 久热精品 视频在线| 免费看一级大黄情大片| 91国在线精品国内播放| 欧美性猛交xxxx| 熟妇人妻av无码一区二区三区| 99视频在线观看视频| 国产精品网红福利| 欧美成va人片在线观看| 日本人妻熟妇久久久久久 | 日本高清久久久| www.com黄色片| 国产一区福利在线| 极品久久久久久| 久久久精品动漫| 欧美视频在线一区二区三区| 欧美aaa在线| 亚洲最大免费| 亚洲精品一区二区三区精华液| 五月婷中文字幕| 无码人妻少妇色欲av一区二区| 国产日韩av在线播放| 欧美一区二区福利在线| 亚洲 另类 春色 国产| 国产精品一区二区三区免费| 亚洲美女在线国产| 日日夜夜精品视频免费观看 | 蜜桃91丨九色丨蝌蚪91桃色| 国产wwwxxx| 尤物网站在线观看| 91麻豆蜜桃| 精品日韩欧美一区二区| 日韩欧美亚洲另类制服综合在线 | 国产白丝一区二区三区| 中文字幕一区二区三区乱码| 色系列之999| 国产精品视频一二三| 91女人视频在线观看| 亚洲熟妇无码乱子av电影| 亚洲乱码国产一区三区| 国产精品69精品一区二区三区| 日韩欧美黄色动漫| 天天亚洲美女在线视频| 成人av免费在线观看| 国产精品自拍视频一区| 中文字幕一区二区三区乱码不卡| 色中文字幕在线观看| 羞羞色国产精品| 最近2019中文字幕大全第二页| 亚洲欧美综合图区| 欧美日韩激情一区二区三区| 国产清纯白嫩初高生在线观看91| 精品女同一区二区三区| 超碰超碰超碰超碰| 综合五月激情网| 国产精品夜夜夜爽阿娇| 国产福利一区视频| 影音先锋资源av| 免费在线看黄色片| 草莓视频一区| 久久青青草原| 欧美啪啪免费视频| 精品国产_亚洲人成在线| 久久久久久久爱| 亚洲欧美日韩另类| 精品福利一二区| 国产偷国产偷亚洲清高网站| 性做久久久久久免费观看| 欧美激情一二三区| 舔着乳尖日韩一区| 欧美日韩精品二区第二页| 精品久久久久久最新网址| 久久久久久久久久久av| 国产精品99久久久久久www| 777精品视频| 久久久久欧美| 嫩草av久久伊人妇女超级a| 热久久久久久久久| 亚洲美免无码中文字幕在线 | 在线播放成人av| 激情五月婷婷小说| 伊人网综合视频| 18精品爽视频在线观看| xxxx 国产| 国产情侣在线视频| 男人晚上看的视频| 久久国产乱子伦精品| 91日韩中文字幕| 天堂社区 天堂综合网 天堂资源最新版| 五月天欧美精品| 日韩免费成人网| 97国产精品人人爽人人做| 国产女主播一区二区三区| 国产成人av一区二区| 精品久久免费视频| 国内精品久久99人妻无码| 亚洲人成无码www久久久| 日韩精品欧美在线| 国产91免费视频| 91网站免费观看| 成人性教育视频在线观看| 久久久久久久久久久亚洲| 国产欧美丝袜| 一本一本久久a久久精品牛牛影视 一本色道久久综合亚洲精品小说 一本色道久久综合狠狠躁篇怎么玩 | 99三级在线| 免费日韩在线观看| 亚洲国产欧美视频| 天天av天天操| 日本熟妇毛耸耸xxxxxx| 国产aⅴ综合色| 欧美二区三区91| 欧美猛男男办公室激情| 日韩视频免费观看| 亚洲欧洲中文天堂| 免费精品视频一区二区三区| 久久国产精品 国产精品| 国产高清999| 亚洲天堂一区在线| 国产精品视频看| 亚洲免费观看高清完整版在线观看| 亚洲欧美日韩中文在线| 国产精品免费视频一区二区| 久久久久久无码精品人妻一区二区| 国产91av视频| 久久久久久久久久久久久女国产乱 | 一本一道久久a久久精品综合| www.日日操| 色网站在线播放| 国产网站一区二区| 亚洲第一狼人社区| 亚洲a视频在线| av激情综合网| 国产精品麻豆视频| 欧美精品一二区| 欧美一区二区.| 亚洲xxx视频| 95视频在线观看| 日韩电影中文字幕在线| 激情另类小说区图片区视频区| 久久国产麻豆精品| 国产99精品视频| 日韩精品一区二区三区视频播放| 欧美做受高潮电影o| 国产欧美亚洲日本| 日韩欧美成人一区二区| 欧美一区二区精品在线| 国产高清在线不卡| 蜜臀av无码一区二区三区| 国产稀缺精品盗摄盗拍| 一级黄色免费片| 国产精品免费aⅴ片在线观看| 欧美高清视频在线播放| 久久99热只有频精品91密拍| 国产视频精品免费| 亚洲视频免费看| 亚洲视频一区二区| av无码精品一区二区三区| 日韩一卡二卡在线| 欧美性极品少妇| 国产色综合一区| 日韩暖暖在线视频| 亚洲自拍三区| 无码人妻精品一区二区| 色综合久久中文综合久久97| 久久精品精品电影网| 新呦u视频一区二区| 91国产免费视频| 日韩一级免费一区| 久久久久久免费精品| 日本成人在线免费| 日韩精品一区第一页| 欧洲视频一区二区| 成人www视频在线观看| 欧产日产国产v| 国产高清久久久| 欧美大片免费久久精品三p| 久久亚洲国产成人精品无码区| 亚洲经典一区二区| 日韩精品一区二区三区蜜臀 | 国产色视频在线播放| 99精品一区二区| 永久免费毛片在线播放不卡| 蜜臀精品一区二区| 在线播放国产一区| 天堂成人在线观看| 粉嫩av一区二区三区| 亚洲一区中文在线| 亚洲第一国产精品| 国产精品入口免费视频一| 免费网站在线观看黄| 2021国产精品久久精品| 欧美激情在线狂野欧美精品| 欧美专区第二页| 亚洲人一二三区| 中文字幕久精品免| 精品亚洲porn| 国产成人精品视频在线| 国产午夜福利精品| 亚洲国产另类 国产精品国产免费| 国产传媒欧美日韩| 午夜精品久久久久久久爽| 在线视频一区二区三区四区| 欧美丝袜一区二区| 免费在线观看亚洲视频| 久久精品国产99| 97精品一区二区三区| 少妇视频在线播放| 国产高清在线精品| 成人高清在线观看| 99国产精品久久久久99打野战| 欧美性色黄大片手机版| 污污的视频免费| 国产人成亚洲第一网站在线播放| 国产呦系列欧美呦日韩呦| 亚洲AV成人无码一二三区在线| 欧美黑人狂野猛交老妇| 国产婷婷色一区二区在线观看| 亚洲国产精品久久久久| 野战少妇38p| 欧美视频一区二区三区在线观看| 欧美日韩国产黄| 蜜臀av在线观看| 午夜视频免费在线| 成人高清在线视频| 欧美色图一区二区三区| 欧美日韩三级在线| 91美女精品网站| 97在线中文字幕| av一区二区三| 国产欧美va欧美va香蕉在| 亚洲第一在线播放| 久久久久久久久久久免费| 男女免费视频网站| 日韩一二三在线视频播| 加勒比婷婷色综合久久| 中文字幕日韩免费视频| 色网站在线播放| 97超碰色婷婷| 91影院在线播放| 2019中文在线观看| 手机看片福利永久| 国产午夜精品免费一区二区三区 | 久久一区中文字幕| 亚洲片在线资源| 在线观看免费国产视频| 97精品国产97久久久久久| 亚洲最大成人av| 91传媒免费看| 成人精品视频一区| 中文字幕欧美日韩一区二区| 亚洲卡通欧美制服中文| 依人在线免费视频| 日韩欧美一级特黄在线播放| 日本系列第一页| 91国产视频在线| 国产精品萝li| 99九九99九九九99九他书对| 日韩精品一区二区三区视频播放| 日本污视频网站| 伦理中文字幕亚洲| 亚洲色图综合区| 国产精品第七十二页| 久久久久久免费观看| 日本精品免费观看| 成人精品免费视频| 爱情岛论坛vip永久入口| 国产精品入口麻豆九色| 制服丝袜第一页在线观看| 色哟哟网站入口亚洲精品| 国产一区二区麻豆| 91精品在线看| 久久久久久97三级| 国产清纯白嫩初高中在线观看性色| 亚洲另类欧美自拍| 在线观看中文字幕2021| 亚洲成人网上| 欧美激情一二三区| 国产精品久久久久久9999| www高清在线视频日韩欧美| 久久狠狠亚洲综合| 亚洲国产精品久久久久婷蜜芽| 亚洲卡通动漫在线| 色婷婷在线视频观看| 成人免费在线视频网址| 亚洲欧洲一区二区在线播放| 国产91色在线观看| 亚洲福利视频三区| 日本一二三不卡视频| 成人免费视频97| 国产精品久久午夜| 91视频最新网址| 国产欧美精品久久久| 亚洲三级久久久| 日韩av在线电影| 影音欧美亚洲| 欧美一级视频精品观看| 婷婷久久久久久| 天堂中文av在线| 国产成人精品视频| 亚洲午夜日本在线观看| 国产女主播喷水视频在线观看| 黄色一级片网址| 在线观看91久久久久久| 91老司机福利 在线| 中文字幕在线观看成人| 久久亚洲综合网| 精品欧美黑人一区二区三区| 国产精品伊人久久| 欧美日本韩国一区二区三区| 亚洲愉拍自拍另类高清精品| 免费一级做a爰片久久毛片潮| 亚洲免费一在线| 激情国产一区二区| aa一级黄色片| 激情视频一区二区| 日韩精品日韩在线观看| 免费在线看成人av| www.久久av| 日韩欧美精品一区二区| 亚洲www啪成人一区二区麻豆| 国产97免费视频| 日本黄色播放器| 亚洲欧美国产va在线影院| 久久在线观看免费| 无码日韩精品一区二区| 青青青国产在线视频| 国产aⅴ一区二区三区| 久久久久久三级| 亚洲超碰97人人做人人爱| jizz国产免费| 在线观看成人一级片| 国产午夜精品久久久| 久久人人爽人人爽| 国产99久久久久久免费看| 国产精品美女久久久久av超清| 偷拍日韩校园综合在线| 精品国产乱码久久久久久蜜臀网站| 色姑娘综合天天| 91在线精品观看| 中文字幕九色91在线| 国产精品久久久久一区二区三区共| 国产精品日韩无码| 中文字幕精品视频在线| 免费看成人午夜电影| 亚洲欧美综合精品久久成人| 亚洲色图一区二区三区| 一级黄色片免费| 欧美日韩一区二区区| 天天爽天天狠久久久| 精品国产不卡一区二区三区| 国产综合色在线| 久久免费激情视频| 99高清视频有精品视频| 国产一区二区三区中文| 午夜国产精品影院在线观看| 美女日韩在线中文字幕| 爱福利视频一区二区| 亚州av一区二区| 在线亚洲精品福利网址导航| www.久久精品| 久久国产日韩| 1级黄色大片儿| 中文字幕1区2区| 成年人网站国产| 91日韩久久| 日韩成人在线观看| 亚洲人成影院在线观看| 国产一区二区三区高清播放| 免费日韩一级片| 一级黄色大片免费看| 国产精品国产对白熟妇| 亚洲一区二区三区久久| 91精品国产91综合久久蜜臀| 一区二区三区在线播放| 国产小视频在线观看免费| 潘金莲一级淫片aaaaaaa| 2018日日夜夜| 在线免费一区| 欧美资源在线观看| 亚洲精品一区二区网址| 欧美日韩一区二区三区四区 | 人人妻人人添人人爽欧美一区| 欧美婷婷久久| 久久99精品久久久久久三级| 国产精品露脸av在线| 按摩亚洲人久久| 欧美成人在线直播| 99riav一区二区三区| 极品少妇xxxx精品少妇偷拍| 国产成人精品一区二三区四区五区| 国产精品老女人| 女同久久另类69精品国产| 久久国产精品影院| 亚洲免费成人在线视频| 精品免费国产一区二区| 五月婷婷六月合| 韩国中文字幕hd久久精品| 熟妇无码乱子成人精品| www.天天射.com| 9久久婷婷国产综合精品性色| 成人在线观看www| 亚洲自拍偷拍色图| 成人啪啪免费看| 91精品国产成人|