成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

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

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

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

Pygame的歷史

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

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

開發(fā)工具:

Python版本:3.6.4
相關模塊:
pygame模塊;
以及一些Python自帶的模塊。

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

游戲簡介:

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

Step1:定義游戲精靈類

① 墻類:


② 食物類:


③ 角色類:

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

Step2:設計游戲地圖

① 創(chuàng)建墻:


② 創(chuàng)建門:


③ 創(chuàng)建角色:


④ 創(chuàng)建食物:

Step3:設計游戲主循環(huán)

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


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


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


showText函數(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())

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

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

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

巨人網(wǎng)絡通訊聲明:本文標題《Pygame做一期吃豆子游戲的示例代碼》,本文關鍵詞  Pygame,做,一期,吃,豆子,游,;如發(fā)現(xiàn)本文內(nèi)容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Pygame做一期吃豆子游戲的示例代碼》相關的同類信息!
  • 本頁收集關于Pygame做一期吃豆子游戲的示例代碼的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    国产成人啪午夜精品网站男同| 91文字幕巨乱亚洲香蕉| 国产精品久久久久久久久免费看| 国产午夜精品一区理论片| 久草精品电影| 国产日韩视频| 一区二区免费看| 欧美日韩国产在线看| 噜噜噜噜噜在线视频| 国产成人l区| 国产在线精品一区二区夜色| 国产欧美日韩亚洲精品| 好吊日精品视频| 亚欧洲乱码视频| 国产精品久久不卡| 天堂а√在线中文在线新版| 亚洲国产中文字幕| 美女精品在线观看| 欧美三区不卡| av网站在线不卡| 在线视频亚洲专区| 亚洲综合第一区| 97精品一区二区| 国产一线二线三线在线观看| 久久99精品国产麻豆不卡| 国产精品免费一区二区三区| 鲁丝一区二区三区免费| 正在播放国产对白害羞| 66久久国产| 91麻豆精品成人一区二区| 国内精品久久久久久久| 天天舔天天干天天操| аⅴ天堂中文在线网| 在线亚洲天堂| 久久国产小视频| 羞羞视频网站在线观看| 亚洲国产成人久久综合| 国产精品一区二区av白丝下载| www 久久久| 亚洲免费资源在线播放| 久久综合99re88久久爱| 亚洲狠狠婷婷综合久久久久图片| ts人妖交友网站| 444亚洲人体| 国产一级大片| 国产精品成人一区二区三区| 亚洲成人xxx| 国产精品久久久亚洲第一牛牛| 一本一本大道香蕉久在线精品| 欧洲伦理片一区 二区 三区| 91久热免费在线视频| 精品国产一区二区在线观看| av电影免费在线看| 亚洲成人精品在线播放| 五月婷婷综合色| aaa在线观看| 欧美另类高清videos的特点| 久久久女人电视剧免费播放下载| 一区在线视频观看| 99久久无色码| 亚洲免费av一区二区| 久久久久久久久综合| 色999日韩国产欧美一区二区| 国产精品第五页| 日韩一卡二卡在线| 日韩精品视频在线观看视频| 麻豆网站免费观看| 免费男同深夜夜行网站| 日韩一区二区久久| 日韩高清三区| 久久久久狠狠高潮亚洲精品| 美女视频免费一区| 国产亚洲午夜高清国产拍精品| 久热久热免费视频中文字幕777| 日韩av毛片| 成人做爰视频网站| 美女诱惑黄网站一区| 欧美综合一区第一页| 天堂网www在线资源中文| 亚洲欧洲一二区| 亚洲激情一区二区| 成人video亚洲精品| 99久久久无码国产精品性| 天天影视色香欲综合| 中文字幕一区二区三区四区五区六区| 成人小视频在线观看| 夜夜摸夜夜操| 熟女高潮一区二区三区| 亚洲国产精品久久久久久| 日本视频www色| 日本一道高清亚洲日美韩| 综合欧美精品| 欧美禁忌电影| 久久这里精品国产99丫e6| 国产在线观看成人| 四虎亚洲精品| 日漫免费在线观看网站| 国产99久久久| 国产h色视频在线观看| 99re6热在线精品视频播放速度| 成人免费毛片xxx| 水中色av综合| 欧美人与物videos| 国产精品免费在线视频| japonensisjava老师可播放| 日韩成人高清在线| 98色花堂精品视频在线观看| 国产一区二区小视频| 97在线观视频免费观看| 一区二区传媒有限公司| 国产亚洲成av人在线观看导航| 91精品国自产在线观看| 国语精品免费视频| 亚洲一区视频在线播放| 欧美成人免费va影院高清| 久久日本片精品aaaaa国产| 欧美日韩黄色| 国产探花一区| 香蕉视频成人在线观看| 黑人巨大精品欧美一区二区免费| 最近中文字幕免费在线观看| 欧美久久精品| 亚洲精品www| 色啪啪.com| 日韩欧美国产高清91| 色狠狠久久av五月综合| 久久久无码人妻精品一区| 岛国大片在线免费观看| 国产精品一区二区av日韩在线| 久久电影国产免费久久电影| 日本少妇全体裸体洗澡| 亚洲欧美精品伊人久久| 97超碰最新| 粉嫩av免费一区二区三区| 天天躁日日躁aaaxxⅹ| 麻豆蜜桃在线观看| 国产精品白丝jk白祙喷水网站| 日本久久黄色| 欧美五级在线观看视频播放| 日本视频一区二区不卡| 久草福利在线视频| 91欧美日韩在线| av高清在线免费观看| 国产欧美va欧美va香蕉在| 黑人40厘米全进去| 欧美精品videossex变态| 男人的j进女人的j一区| 成人小视频在线看| 中文字幕不卡免费视频| 成人日韩欧美| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 2019天天干夜夜操| 99reav| 国产www在线观看| 伊人久久大香线蕉精品组织观看| 成人香蕉社区| 丁香六月婷婷综合| 黄色成人美女网站| 欧美色视频在线观看| 99久久精品无免国产免费| 午夜免费看毛片| 欧美亚洲另类视频| 日韩av在线发布| 丝袜美腿小色网| 亚洲国产精品suv| 亚洲男子天堂网| 免费国产在线视频| 日本三级片在线观看| 国产精品国产一区二区三区四区| 精品伊人久久久久7777人| 久久久亚洲高清| 欧美日韩黄网站| 一区二区三区欧美精品| 亚洲精品乱码久久久久久| 久久精品一级片| www.午夜av| 97自拍视频| 成熟了的熟妇毛茸茸| 国产精品一区二区小说| 成人免费网站视频| 欧美一区二区黄色| 国产又黄又爽免费视频| 日韩av电影在线免费播放| 欧美性爽视频| 国产福利视频网站| 久操视频在线| 国产精品播放| 国内自拍视频在线播放| 手机在线观看国产精品| 国产激情视频在线播放| 九色视频在线观看| 奇米影视四色在观看线| 日本黄色免费在线| 久久视频在线免费观看| 久久神马影院| 一本大道久久a久久精品综合| 国产中文字幕在线免费观看| 久久久久88色偷偷免费| 国产欧美激情视频| 欧美xoxoxo| 日本在线播放一二三区| 无码日本精品xxxxxxxxx| 国产高潮在线观看| 久久国产精品 国产精品| 99免费视频观看| 久久久久99精品成人片我成大片| 国产精品白嫩初高中害羞小美女| 亚洲精品日本| 国产精品久久久久久免费| 亚洲自拍小视频免费观看| 5566中文字幕一区二区| 亚洲男女视频在线观看| 欧美aaa一级片| 国产一级免费av| 欧美亚洲色图校园春色| 国产精品一区二| 精品人妻一区二区三区免费看| 91久久久免费一区二区| 91精品国偷自产在线电影| 性生活免费在线观看| 国产精品粉嫩| 中文亚洲视频在线| 91亚洲国产成人久久精品网站| 免费看男男www网站入口在线| 在线影视一区二区三区| 国产一区不卡精品| 欧洲亚洲一区二区三区四区五区| 最新国产在线视频| 国产清纯白嫩初高生在线观看91| 一区二区三区在线观看国产| 波多野结衣天堂| 精品乱子伦一区二区| 久久久久网站| 日本亚洲视频| 毛片精品免费在线观看| 狠狠鲁男人天堂| 日韩欧美国产综合在线| 91国偷自产一区二区三区成为亚洲经典| 欧美激情精品久久久久久| 国产偷激情在线| 亚洲欧美久久| 成人久久久精品国产乱码一区二区| 国产亚洲精品久久久久动| 欧美18—20岁hd第一次| 欧美一级特黄高清视频| 91久久精品一区二区三区| 色哟哟免费视频| 草莓视频18免费观看| 欧美福利视频一区二区| 美女被啪啪一区二区| 99久久精品国产一区二区三区| 国产精品国产三级国产专播品爱网| 免费在线观看一区| 亚洲免费成人av| 美女黄毛**国产精品啪啪| 激情视频在线观看| 九色porny在线| 色综合视频一区二区三区高清| 久久影视三级福利片| 蜜桃精品成人影片| 最新精品视频在线| 在线视频观看91| 久久国产精品免费视频| 一区二区乱子伦在线播放| 国产小视频免费在线网址| 一区二区动漫| 97人人澡人人爽| 天天综合成人网| 波多野结衣家庭教师视频| 欧美乱大交xxxxx潮喷l头像| 韩国视频一区二区| 在线看免费av| 看黄色录像一级片| 日本中文字幕在线观看视频| 亚洲午夜免费视频| av网址在线免费观看| 国产精品毛片一区二区三区| 亚洲国产婷婷| 国产欧美欧美| 亚洲国产av一区二区| 欧美亚洲国产bt| 国产免费无遮挡吸奶头视频| 日本三级欧美三级| 一级特黄大欧美久久久| 色噜噜狠狠狠综合曰曰曰88av| 欧美高清视频在线观看mv| 色婷婷综合久久久中文一区二区| 成人黄色av免费在线观看| 鲁大师精品99久久久| 粉嫩老牛aⅴ一区二区三区| eeuss影影院www在线播放| 夜夜躁日日躁狠狠久久88av| 女人天堂在线视频| 欧美aaa在线| 成年人视频观看| 最新一本之道波多野结衣| 欧美有码视频| 美女喷水白浆| 97成人精品视频在线观看| 久久这里只有精品18| 国产成人精品亚洲| 91免费视频国产| 免费成人av在线播放| 国产特级黄色录像| 成人看的羞羞网站| 亚洲专区一区二区三区| 欧美孕妇孕交| 欧美日韩黄视频| 国产91久久婷婷一区二区| 国产免费无遮挡吸奶头视频| 欧美日韩国产色视频| 青青草精品视频在线| 久久频这里精品99香蕉| 超碰成人久久| 一本到12不卡视频在线dvd| 日韩中文在线中文网在线观看| 国产二区视频在线播放| 粉嫩小泬无遮挡久久久久久| 97影视大全免费追剧大全在线观看| 91浏览器在线观看| 99久久精品免费精品国产| 一区二区成人国产精品| 久久不见久久见免费视频7| 国产精品久久久久久久久婷婷| 亚洲欧美精品一区二区三区| www.成年人| 成人亚洲综合色就1024| 日韩一本大道|