婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > 二十種Python代碼游戲源代碼分享

二十種Python代碼游戲源代碼分享

熱門標(biāo)簽:在哪里辦理400電話號(hào)碼 江蘇客服外呼系統(tǒng)廠家 千陽(yáng)自動(dòng)外呼系統(tǒng) 平頂山外呼系統(tǒng)免費(fèi) 西藏智能外呼系統(tǒng)五星服務(wù) 400電話申請(qǐng)服務(wù)商選什么 工廠智能電話機(jī)器人 原裝電話機(jī)器人 清遠(yuǎn)360地圖標(biāo)注方法

學(xué)Python中,自我感覺學(xué)的還不錯(cuò)的亞子~想做點(diǎn)什么來(lái)練練手,然后我瘋狂的找各種小游戲的教程源碼什么的,于是我就瘋狂的找呀找呀,就找到了一大堆,哈哈哈
畢竟我是從小就有一個(gè)游戲夢(mèng),現(xiàn)在就彌補(bǔ)一下自己小時(shí)候沒有玩過癮的游戲補(bǔ)上叭~

提示:愛學(xué)習(xí)哦,不要沉迷游戲,平時(shí)打發(fā)一下無(wú)聊時(shí)間最好啦

拿走源碼的還請(qǐng)留言說(shuō)一下好嗎?不管是想學(xué)習(xí)的想轉(zhuǎn)發(fā)的想干啥的,還請(qǐng)都點(diǎn)個(gè)贊說(shuō)一下不,我也找的不容易呀

1、21點(diǎn)數(shù)字小游戲展示:

首先配置文件的源碼:

'''配置文件'''
import os
 
 
# 一些常量
RED = (255, 0, 0)
BLACK = (0, 0, 0)
AZURE = (240, 255, 255)
WHITE = (255, 255, 255)
MISTYROSE = (255, 228, 225)
PALETURQUOISE = (175, 238, 238)
PAPAYAWHIP = (255, 239, 213)
CURRENTPATH = os.getcwd()
FONTPATH = os.path.join(CURRENTPATH, 'resources/fonts/font.TTF')
AUDIOWINPATH = os.path.join(CURRENTPATH, 'resources/audios/win.wav')
AUDIOLOSEPATH = os.path.join(CURRENTPATH, 'resources/audios/lose.wav')
AUDIOWARNPATH = os.path.join(CURRENTPATH, 'resources/audios/warn.wav')
BGMPATH = os.path.join(CURRENTPATH, 'resources/audios/bgm.mp3')
# 數(shù)字卡片
# --數(shù)字卡片字體顏色
NUMBERFONT_COLORS = [BLACK, RED]
# --數(shù)字卡片背景顏色
NUMBERCARD_COLORS = [MISTYROSE, PALETURQUOISE]
# --數(shù)字卡片字體路徑與大小
NUMBERFONT = [FONTPATH, 50]
# --數(shù)字卡片位置
NUMBERCARD_POSITIONS = [(25, 50, 150, 200), (225, 50, 150, 200), (425, 50, 150, 200), (625, 50, 150, 200)]
# 運(yùn)算符卡片
# --運(yùn)算符種類
OPREATORS = ['+', '-', '×', '÷']
# --運(yùn)算符卡片字體顏色
OPREATORFONT_COLORS = [BLACK, RED]
# --運(yùn)算符卡片背景顏色
OPERATORCARD_COLORS = [MISTYROSE, PALETURQUOISE]
# --運(yùn)算符卡片字體路徑與大小
OPERATORFONT = [FONTPATH, 30]
# --運(yùn)算符卡片位置
OPERATORCARD_POSITIONS = [(230, 300, 50, 50), (330, 300, 50, 50), (430, 300, 50, 50), (530, 300, 50, 50)]
# 按鈕卡片
# --按鈕類型
BUTTONS = ['RESET', 'ANSWERS', 'NEXT']
# --按鈕卡片字體顏色
BUTTONFONT_COLORS = [BLACK, BLACK]
# --按鈕卡片背景顏色
BUTTONCARD_COLORS = [MISTYROSE, PALETURQUOISE]
# --按鈕卡片字體路徑與大小
BUTTONFONT = [FONTPATH, 30]
# --按鈕卡片位置
BUTTONCARD_POSITIONS = [(25, 400, 700/3, 150), (50+700/3, 400, 700/3, 150), (75+1400/3, 400, 700/3, 150)]
# 屏幕大小
SCREENSIZE = (800, 600)
# 卡片類型
GROUPTYPES = ['NUMBER', 'OPREATOR', 'BUTTON']

游戲源碼:

import os
import sys
import pygame
from cfg import *
from modules import *
from fractions import Fraction
 
 
'''檢查控件是否被點(diǎn)擊'''
def checkClicked(group, mouse_pos, group_type='NUMBER'):
 selected = []
 # 數(shù)字卡片/運(yùn)算符卡片
 if group_type == GROUPTYPES[0] or group_type == GROUPTYPES[1]:
  max_selected = 2 if group_type == GROUPTYPES[0] else 1
  num_selected = 0
  for each in group:
   num_selected += int(each.is_selected)
  for each in group:
   if each.rect.collidepoint(mouse_pos):
    if each.is_selected:
     each.is_selected = not each.is_selected
     num_selected -= 1
     each.select_order = None
    else:
     if num_selected  max_selected:
      each.is_selected = not each.is_selected
      num_selected += 1
      each.select_order = str(num_selected)
   if each.is_selected:
    selected.append(each.attribute)
 # 按鈕卡片
 elif group_type == GROUPTYPES[2]:
  for each in group:
   if each.rect.collidepoint(mouse_pos):
    each.is_selected = True
    selected.append(each.attribute)
 # 拋出異常
 else:
  raise ValueError('checkClicked.group_type unsupport %s, expect %s, %s or %s...' % (group_type, *GROUPTYPES))
 return selected
 
 
'''獲取數(shù)字精靈組'''
def getNumberSpritesGroup(numbers):
 number_sprites_group = pygame.sprite.Group()
 for idx, number in enumerate(numbers):
  args = (*NUMBERCARD_POSITIONS[idx], str(number), NUMBERFONT, NUMBERFONT_COLORS, NUMBERCARD_COLORS, str(number))
  number_sprites_group.add(Card(*args))
 return number_sprites_group
 
 
'''獲取運(yùn)算符精靈組'''
def getOperatorSpritesGroup(operators):
 operator_sprites_group = pygame.sprite.Group()
 for idx, operator in enumerate(operators):
  args = (*OPERATORCARD_POSITIONS[idx], str(operator), OPERATORFONT, OPREATORFONT_COLORS, OPERATORCARD_COLORS, str(operator))
  operator_sprites_group.add(Card(*args))
 return operator_sprites_group
 
 
'''獲取按鈕精靈組'''
def getButtonSpritesGroup(buttons):
 button_sprites_group = pygame.sprite.Group()
 for idx, button in enumerate(buttons):
  args = (*BUTTONCARD_POSITIONS[idx], str(button), BUTTONFONT, BUTTONFONT_COLORS, BUTTONCARD_COLORS, str(button))
  button_sprites_group.add(Button(*args))
 return button_sprites_group
 
 
'''計(jì)算'''
def calculate(number1, number2, operator):
 operator_map = {'+': '+', '-': '-', '×': '*', '÷': '/'}
 try:
  result = str(eval(number1+operator_map[operator]+number2))
  return result if '.' not in result else str(Fraction(number1+operator_map[operator]+number2))
 except:
  return None
 
 
'''在屏幕上顯示信息'''
def showInfo(text, screen):
 rect = pygame.Rect(200, 180, 400, 200)
 pygame.draw.rect(screen, PAPAYAWHIP, rect)
 font = pygame.font.Font(FONTPATH, 40)
 text_render = font.render(text, True, BLACK)
 font_size = font.size(text)
 screen.blit(text_render, (rect.x+(rect.width-font_size[0])/2, rect.y+(rect.height-font_size[1])/2))
 
 
'''主函數(shù)'''
def main():
 # 初始化, 導(dǎo)入必要的游戲素材
 pygame.init()
 pygame.mixer.init()
 screen = pygame.display.set_mode(SCREENSIZE)
 pygame.display.set_caption('24 point —— 九歌')
 win_sound = pygame.mixer.Sound(AUDIOWINPATH)
 lose_sound = pygame.mixer.Sound(AUDIOLOSEPATH)
 warn_sound = pygame.mixer.Sound(AUDIOWARNPATH)
 pygame.mixer.music.load(BGMPATH)
 pygame.mixer.music.play(-1, 0.0)
 # 24點(diǎn)游戲生成器
 game24_gen = game24Generator()
 game24_gen.generate()
 # 精靈組
 # --數(shù)字
 number_sprites_group = getNumberSpritesGroup(game24_gen.numbers_now)
 # --運(yùn)算符
 operator_sprites_group = getOperatorSpritesGroup(OPREATORS)
 # --按鈕
 button_sprites_group = getButtonSpritesGroup(BUTTONS)
 # 游戲主循環(huán)
 clock = pygame.time.Clock()
 selected_numbers = []
 selected_operators = []
 selected_buttons = []
 is_win = False
 while True:
  for event in pygame.event.get():
   if event.type == pygame.QUIT:
    pygame.quit()
    sys.exit(-1)
   elif event.type == pygame.MOUSEBUTTONUP:
    mouse_pos = pygame.mouse.get_pos()
    selected_numbers = checkClicked(number_sprites_group, mouse_pos, 'NUMBER')
    selected_operators = checkClicked(operator_sprites_group, mouse_pos, 'OPREATOR')
    selected_buttons = checkClicked(button_sprites_group, mouse_pos, 'BUTTON')
  screen.fill(AZURE)
  # 更新數(shù)字
  if len(selected_numbers) == 2 and len(selected_operators) == 1:
   noselected_numbers = []
   for each in number_sprites_group:
    if each.is_selected:
     if each.select_order == '1':
      selected_number1 = each.attribute
     elif each.select_order == '2':
      selected_number2 = each.attribute
     else:
      raise ValueError('Unknow select_order %s, expect 1 or 2...' % each.select_order)
    else:
     noselected_numbers.append(each.attribute)
    each.is_selected = False
   for each in operator_sprites_group:
    each.is_selected = False
   result = calculate(selected_number1, selected_number2, *selected_operators)
   if result is not None:
    game24_gen.numbers_now = noselected_numbers + [result]
    is_win = game24_gen.check()
    if is_win:
     win_sound.play()
    if not is_win and len(game24_gen.numbers_now) == 1:
     lose_sound.play()
   else:
    warn_sound.play()
   selected_numbers = []
   selected_operators = []
   number_sprites_group = getNumberSpritesGroup(game24_gen.numbers_now)
  # 精靈都畫到screen上
  for each in number_sprites_group:
   each.draw(screen, pygame.mouse.get_pos())
  for each in operator_sprites_group:
   each.draw(screen, pygame.mouse.get_pos())
  for each in button_sprites_group:
   if selected_buttons and selected_buttons[0] in ['RESET', 'NEXT']:
    is_win = False
   if selected_buttons and each.attribute == selected_buttons[0]:
    each.is_selected = False
    number_sprites_group = each.do(game24_gen, getNumberSpritesGroup, number_sprites_group, button_sprites_group)
    selected_buttons = []
   each.draw(screen, pygame.mouse.get_pos())
  # 游戲勝利
  if is_win:
   showInfo('Congratulations', screen)
  # 游戲失敗
  if not is_win and len(game24_gen.numbers_now) == 1:
   showInfo('Game Over', screen)
  pygame.display.flip()
  clock.tick(30)
 
 
'''run'''
if __name__ == '__main__':
 main()

2、保衛(wèi)森林大作戰(zhàn)啦啦

展示:

首先配置文件的源碼:

'''配置文件'''
import os
 
 
'''屏幕大小'''
SCREENSIZE = (800, 600)
'''圖片路徑'''
IMAGEPATHS = {
 'choice': {
  'load_game': os.path.join(os.getcwd(), 'resources/images/choice/load_game.png'),
  'map1': os.path.join(os.getcwd(), 'resources/images/choice/map1.png'),
  'map1_black': os.path.join(os.getcwd(), 'resources/images/choice/map1_black.png'),
  'map1_red': os.path.join(os.getcwd(), 'resources/images/choice/map1_red.png'),
  'map2': os.path.join(os.getcwd(), 'resources/images/choice/map2.png'),
  'map2_black': os.path.join(os.getcwd(), 'resources/images/choice/map2_black.png'),
  'map2_red': os.path.join(os.getcwd(), 'resources/images/choice/map2_red.png'),
  'map3': os.path.join(os.getcwd(), 'resources/images/choice/map3.png'),
  'map3_black': os.path.join(os.getcwd(), 'resources/images/choice/map3_black.png'),
  'map3_red': os.path.join(os.getcwd(), 'resources/images/choice/map3_red.png'),
 },
 'end': {
  'gameover': os.path.join(os.getcwd(), 'resources/images/end/gameover.png'),
  'continue_red': os.path.join(os.getcwd(), 'resources/images/end/continue_red.png'),
  'continue_black': os.path.join(os.getcwd(), 'resources/images/end/continue_black.png'),
 },
 'game': {
  'arrow1': os.path.join(os.getcwd(), 'resources/images/game/arrow1.png'), 
  'arrow2': os.path.join(os.getcwd(), 'resources/images/game/arrow2.png'), 
  'arrow3': os.path.join(os.getcwd(), 'resources/images/game/arrow3.png'), 
  'basic_tower': os.path.join(os.getcwd(), 'resources/images/game/basic_tower.png'), 
  'boulder': os.path.join(os.getcwd(), 'resources/images/game/boulder.png'), 
  'bush': os.path.join(os.getcwd(), 'resources/images/game/bush.png'), 
  'cave': os.path.join(os.getcwd(), 'resources/images/game/cave.png'), 
  'dirt': os.path.join(os.getcwd(), 'resources/images/game/dirt.png'), 
  'enemy_blue': os.path.join(os.getcwd(), 'resources/images/game/enemy_blue.png'), 
  'enemy_pink': os.path.join(os.getcwd(), 'resources/images/game/enemy_pink.png'), 
  'enemy_red': os.path.join(os.getcwd(), 'resources/images/game/enemy_red.png'), 
  'enemy_yellow': os.path.join(os.getcwd(), 'resources/images/game/enemy_yellow.png'), 
  'godark': os.path.join(os.getcwd(), 'resources/images/game/godark.png'), 
  'golight': os.path.join(os.getcwd(), 'resources/images/game/golight.png'), 
  'grass': os.path.join(os.getcwd(), 'resources/images/game/grass.png'), 
  'healthfont': os.path.join(os.getcwd(), 'resources/images/game/healthfont.png'), 
  'heavy_tower': os.path.join(os.getcwd(), 'resources/images/game/heavy_tower.png'), 
  'med_tower': os.path.join(os.getcwd(), 'resources/images/game/med_tower.png'), 
  'nexus': os.path.join(os.getcwd(), 'resources/images/game/nexus.png'), 
  'othergrass': os.path.join(os.getcwd(), 'resources/images/game/othergrass.png'), 
  'path': os.path.join(os.getcwd(), 'resources/images/game/path.png'), 
  'rock': os.path.join(os.getcwd(), 'resources/images/game/rock.png'), 
  'tiles': os.path.join(os.getcwd(), 'resources/images/game/tiles.png'), 
  'unitfont': os.path.join(os.getcwd(), 'resources/images/game/unitfont.png'), 
  'water': os.path.join(os.getcwd(), 'resources/images/game/water.png'), 
  'x': os.path.join(os.getcwd(), 'resources/images/game/x.png'), 
 },
 'pause': {
  'gamepaused': os.path.join(os.getcwd(), 'resources/images/pause/gamepaused.png'), 
  'resume_black': os.path.join(os.getcwd(), 'resources/images/pause/resume_black.png'), 
  'resume_red': os.path.join(os.getcwd(), 'resources/images/pause/resume_red.png'), 
 },
 'start': {
  'play_black': os.path.join(os.getcwd(), 'resources/images/start/play_black.png'), 
  'play_red': os.path.join(os.getcwd(), 'resources/images/start/play_red.png'), 
  'quit_black': os.path.join(os.getcwd(), 'resources/images/start/quit_black.png'), 
  'quit_red': os.path.join(os.getcwd(), 'resources/images/start/quit_red.png'), 
  'start_interface': os.path.join(os.getcwd(), 'resources/images/start/start_interface.png'), 
 },
}
'''地圖路徑'''
MAPPATHS = {
 '1': os.path.join(os.getcwd(), 'resources/maps/1.map'),
 '2': os.path.join(os.getcwd(), 'resources/maps/2.map'),
 '3': os.path.join(os.getcwd(), 'resources/maps/3.map'),
}
'''字體路徑'''
FONTPATHS = {
 'Calibri': os.path.join(os.getcwd(), 'resources/fonts/Calibri.ttf'),
 'm04': os.path.join(os.getcwd(), 'resources/fonts/m04.ttf'),
 'Microsoft Sans Serif': os.path.join(os.getcwd(), 'resources/fonts/Microsoft Sans Serif.ttf'),
}
'''不同難度的settings'''
DIFFICULTYPATHS = {
 'easy': os.path.join(os.getcwd(), 'resources/difficulties/easy.json'),
 'hard': os.path.join(os.getcwd(), 'resources/difficulties/hard.json'),
 'medium': os.path.join(os.getcwd(), 'resources/difficulties/medium.json'),
}

游戲源碼:

import cfg
import pygame
from modules import *
 
 
'''主函數(shù)'''
def main():
 pygame.init()
 pygame.mixer.init()
 pygame.mixer.music.load(cfg.AUDIOPATHS['bgm'])
 pygame.mixer.music.play(-1, 0.0)
 pygame.mixer.music.set_volume(0.25)
 screen = pygame.display.set_mode(cfg.SCREENSIZE)
 pygame.display.set_caption("塔防游戲 —— 九歌")
 # 調(diào)用游戲開始界面
 start_interface = StartInterface(cfg)
 is_play = start_interface.update(screen)
 if not is_play:
  return
 # 調(diào)用游戲界面
 while True:
  choice_interface = ChoiceInterface(cfg)
  map_choice, difficulty_choice = choice_interface.update(screen)
  game_interface = GamingInterface(cfg)
  game_interface.start(screen, map_path=cfg.MAPPATHS[str(map_choice)], difficulty_path=cfg.DIFFICULTYPATHS[str(difficulty_choice)])
  end_interface = EndInterface(cfg)
  end_interface.update(screen)
 
'''run'''
if __name__ == '__main__':
 main()

3、超級(jí)大的迷宮

展示:

首先配置文件的源碼:

'''配置文件'''
import os
 
 
'''屏幕大小'''
SCREENSIZE = (800, 625)
'''游戲素材'''
BGMPATH = os.path.join(os.getcwd(), 'resources/audios/bgm.mp3')
HEROPICPATH = os.path.join(os.getcwd(), 'resources/images/hero.png')
'''FPS'''
FPS = 20
'''塊大小'''
BLOCKSIZE = 15
MAZESIZE = (35, 50) # num_rows * num_cols
BORDERSIZE = (25, 50) # 25 * 2 + 50 * 15 = 800, 50 * 2 + 35 * 15 = 625

游戲源碼:

import cfg
import sys
import pygame
from modules import *
 
 
'''主函數(shù)'''
def main(cfg):
 # 初始化
 pygame.init()
 pygame.mixer.init()
 pygame.font.init()
 pygame.mixer.music.load(cfg.BGMPATH)
 pygame.mixer.music.play(-1, 0.0)
 screen = pygame.display.set_mode(cfg.SCREENSIZE)
 pygame.display.set_caption('Maze —— 九歌')
 font = pygame.font.SysFont('Consolas', 15)
 # 開始界面
 Interface(screen, cfg, 'game_start')
 # 記錄關(guān)卡數(shù)
 num_levels = 0
 # 記錄最少用了多少步通關(guān)
 best_scores = 'None'
 # 關(guān)卡循環(huán)切換
 while True:
  num_levels += 1
  clock = pygame.time.Clock()
  screen = pygame.display.set_mode(cfg.SCREENSIZE)
  # --隨機(jī)生成關(guān)卡地圖
  maze_now = RandomMaze(cfg.MAZESIZE, cfg.BLOCKSIZE, cfg.BORDERSIZE)
  # --生成hero
  hero_now = Hero(cfg.HEROPICPATH, [0, 0], cfg.BLOCKSIZE, cfg.BORDERSIZE)
  # --統(tǒng)計(jì)步數(shù)
  num_steps = 0
  # --關(guān)卡內(nèi)主循環(huán)
  while True:
   dt = clock.tick(cfg.FPS)
   screen.fill((255, 255, 255))
   is_move = False
   # ----↑↓←→控制hero
   for event in pygame.event.get():
    if event.type == pygame.QUIT:
     pygame.quit()
     sys.exit(-1)
    elif event.type == pygame.KEYDOWN:
     if event.key == pygame.K_UP:
      is_move = hero_now.move('up', maze_now)
     elif event.key == pygame.K_DOWN:
      is_move = hero_now.move('down', maze_now)
     elif event.key == pygame.K_LEFT:
      is_move = hero_now.move('left', maze_now)
     elif event.key == pygame.K_RIGHT:
      is_move = hero_now.move('right', maze_now)
   num_steps += int(is_move)
   hero_now.draw(screen)
   maze_now.draw(screen)
   # ----顯示一些信息
   showText(screen, font, 'LEVELDONE: %d' % num_levels, (255, 0, 0), (10, 10))
   showText(screen, font, 'BESTSCORE: %s' % best_scores, (255, 0, 0), (210, 10))
   showText(screen, font, 'USEDSTEPS: %s' % num_steps, (255, 0, 0), (410, 10))
   showText(screen, font, 'S: your starting point D: your destination', (255, 0, 0), (10, 600))
   # ----判斷游戲是否勝利
   if (hero_now.coordinate[0] == cfg.MAZESIZE[1] - 1) and (hero_now.coordinate[1] == cfg.MAZESIZE[0] - 1):
    break
   pygame.display.update()
  # --更新最優(yōu)成績(jī)
  if best_scores == 'None':
   best_scores = num_steps
  else:
   if best_scores > num_steps:
    best_scores = num_steps
  # --關(guān)卡切換
  Interface(screen, cfg, mode='game_switch')
 
'''run'''
if __name__ == '__main__':
 main(cfg)

...未完

太多了,好累呀!喜歡的就去資源里面下載吧  大概十幾二十個(gè)游戲源碼

到此這篇關(guān)于二十種Python代碼游戲源代碼分享的文章就介紹到這了,更多相關(guān)Python游戲源代碼內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Python實(shí)現(xiàn)我的世界小游戲源代碼
  • 基于Python-Pycharm實(shí)現(xiàn)的猴子摘桃小游戲(源代碼)
  • Python生命游戲?qū)崿F(xiàn)原理及過程解析(附源代碼)

標(biāo)簽:西安 天水 錦州 安慶 隨州 日照 白城 股票

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《二十種Python代碼游戲源代碼分享》,本文關(guān)鍵詞  二十,種,Python,代碼,游戲,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《二十種Python代碼游戲源代碼分享》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于二十種Python代碼游戲源代碼分享的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    捆绑变态av一区二区三区| 国产成人av在线影院| 欧美日韩极品在线观看一区| 国产精品自产自拍| 日韩欧美黄色影院| 男男视频亚洲欧美| 3atv在线一区二区三区| 琪琪久久久久日韩精品| 日韩欧美中文字幕精品| 韩国在线一区二区| 国产人久久人人人人爽| 欧美乱妇23p| 2021中文字幕一区亚洲| 在线亚洲一区二区| 蜜臀av性久久久久蜜臀aⅴ四虎| 99久精品国产| 在线免费观看日本欧美| 国产不卡视频在线观看| 日韩欧美国产精品| 经典一区二区三区| 国产精品天干天干在线综合| 国产精品中文字幕日韩精品| 亚洲人xxxx| www国产精品av| 成人免费毛片高清视频| 一区二区三区在线视频观看 | 欧美亚洲综合在线| 久久国产综合精品| 亚洲欧美在线aaa| 91精品福利在线一区二区三区| 韩国av一区二区三区在线观看| 欧美性感一区二区三区| 免费成人性网站| 亚洲欧美电影院| 久久精品日韩一区二区三区| 色综合欧美在线视频区| 狠狠久久亚洲欧美| 午夜欧美2019年伦理| 国产精品嫩草99a| 久久蜜臀精品av| 国产九九视频一区二区三区| 蜜臀av性久久久久蜜臀aⅴ| 亚洲一区二区视频在线观看| 激情小说欧美图片| 久久成人av少妇免费| 日本欧洲一区二区| 日日摸夜夜添夜夜添亚洲女人| 亚洲综合精品自拍| 三级欧美在线一区| 久久国产精品区| 国产精品一二三四区| 色欧美88888久久久久久影院| 色婷婷国产精品综合在线观看| 欧美影视一区二区三区| 99久久精品国产一区| 欧美xxxxx牲另类人与| 在线电影院国产精品| 欧美精品欧美精品系列| 色综合av在线| 欧美日本一区二区| 久久嫩草精品久久久精品| 国产亚洲人成网站| 亚洲韩国一区二区三区| 美女视频黄免费的久久| 国产精品18久久久久久久网站| 国产资源精品在线观看| 欧美日韩国产精选| 国产亚洲精品久| 日韩av中文在线观看| 91在线国内视频| 欧美精品一区二区精品网| 亚洲女同女同女同女同女同69| 免费在线看一区| 欧美吻胸吃奶大尺度电影| 久久久影视传媒| 亚洲精品一区二区三区99 | 成人网在线播放| 欧美精品成人一区二区三区四区| 精品国产成人在线影院| 免费人成黄页网站在线一区二区| 99久久伊人精品| 综合久久久久久| 成年人国产精品| 一级日本不卡的影视| 精品久久久久一区二区国产| 激情五月婷婷综合| www一区二区| 国产高清精品在线| 亚洲另类在线制服丝袜| 国产精品中文有码| 亚洲日本在线看| 欧美一区二区大片| 91精品国产一区二区三区香蕉| 91精品国产色综合久久不卡电影 | 精品国产免费一区二区三区四区 | 国产精品国产馆在线真实露脸 | 福利电影一区二区| 国产片一区二区| 26uuu另类欧美亚洲曰本| 日韩女优av电影| 91视频免费看| 91网站在线播放| 91亚洲精华国产精华精华液| 成人精品在线视频观看| 成人黄色在线视频| 色综合网色综合| 777午夜精品免费视频| 欧美电影免费观看高清完整版 | 久久奇米777| 成人欧美一区二区三区在线播放| 最新日韩av在线| 蜜臀av性久久久久蜜臀aⅴ四虎| 狠狠色丁香久久婷婷综合丁香| 99在线热播精品免费| 777午夜精品免费视频| 日本一区二区三区在线观看| 久久免费国产精品| 一区二区日韩av| 久草在线在线精品观看| www.亚洲色图| 久久午夜国产精品| 日本欧美一区二区三区| 色综合色综合色综合| 国产精品毛片高清在线完整版| 亚洲欧美日韩系列| 久99久精品视频免费观看| 91老师国产黑色丝袜在线| 欧美成人一区二区三区片免费| 国产精品美女www爽爽爽| 婷婷综合五月天| 91麻豆文化传媒在线观看| 国产亚洲综合性久久久影院| 午夜一区二区三区视频| 在线观看视频欧美| 国产91精品免费| 欧美绝品在线观看成人午夜影视| 欧美α欧美αv大片| 欧美美女视频在线观看| 欧美美女激情18p| 久久综合九色综合97婷婷女人| 欧美国产成人精品| 亚洲欧美日韩国产手机在线| 亚洲女人****多毛耸耸8| 日本免费新一区视频| 奇米色一区二区三区四区| 国产麻豆午夜三级精品| 97久久精品人人爽人人爽蜜臀| 91国产免费观看| 天天影视涩香欲综合网| 久久亚洲精精品中文字幕早川悠里| 美女脱光内衣内裤视频久久影院| 成人精品免费视频| 精品国产凹凸成av人导航| 亚洲精品一卡二卡| 99精品黄色片免费大全| 欧美精品日韩一区| 免费欧美高清视频| 在线成人午夜影院| 麻豆国产精品一区二区三区| 91精品国产高清一区二区三区| 亚洲国产欧美日韩另类综合 | 久久综合色综合88| 激情图区综合网| 欧美国产精品劲爆| 懂色av一区二区三区免费看| 久久色在线观看| 日本精品视频一区二区三区| 亚洲国产欧美一区二区三区丁香婷| 欧美日韩国产一区二区三区地区| 日本麻豆一区二区三区视频| 国产日韩欧美高清在线| 欧美日韩夫妻久久| 粉嫩一区二区三区性色av| 亚洲男同性视频| 国产精品美女久久久久久久| 欧美成人综合网站| 99精品欧美一区二区三区综合在线| 91免费观看视频| 色欧美片视频在线观看在线视频| 国产乱码精品一品二品| 久久99精品久久久久婷婷| 精一区二区三区| 国产不卡高清在线观看视频| 成人午夜激情片| 午夜精品久久久久久久久久久| 久久久不卡网国产精品二区| 在线观看日韩电影| 99综合影院在线| 成人免费视频app| 成人午夜电影网站| 不卡av免费在线观看| 国产.精品.日韩.另类.中文.在线.播放| 视频一区欧美精品| 亚洲二区在线视频| 舔着乳尖日韩一区| 亚洲色图一区二区| 亚洲成人动漫在线免费观看| 亚洲一区二区在线免费看| 亚洲午夜激情网站| 国内精品国产成人国产三级粉色|