日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

使用pygame开发一个弹幕射击游戏(一)

發(fā)布時(shí)間:2024/3/26 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用pygame开发一个弹幕射击游戏(一) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

本文作為開(kāi)發(fā)過(guò)程記錄用。

目前游戲畫(huà)面:

下一個(gè)添加的功能:敵機(jī)可以進(jìn)行射擊。

?

?

?

彈幕類(lèi)

from pygame.sprite import Sprite from pygame import transform import mathclass Barrage(Sprite):def __init__(self,raiden_settings,screen,ship,enemy,angle=0):self.barrage_type = enemy.barrage_typeself.screen = screenself.raiden_settings = raiden_settingsself.ship = shipself.image = pygame.image.load(raiden_settings. \barrage_image[barrage_type-1])self.rect = self.image.get_rect()self.rect.x = enemy.rect.xself.rect.y = enemy.rect.yself.x = float(self.rect.x)self.y = float(self.rect.y)self.angle = angleif self.barrage_type == 1:self.image = pygame.transform.rotate(self.image, raiden_settings.direction_angle)def update(self):if self.barrage_type == 1 or self.barrage_type == 2:self.x += self.raiden_settings.barrage_speed_factor * \math.sin(self.angle)self.y += self.raiden_settings.barrage_speed_factor * \math.cos(self.angle)if self.barrage_type == 3:tmp = ((self.x - self.ship.x) ** 2 + (self.y -self.ship.y) \** 2) ** 0.5self.x += self.raiden_settings.barrage_speed_factor * \(self.ship.x - self.x)/tmpself.y += self.raiden_settings.barrage_speed_factor * \(self.y - self.ship.y)/tmpself.rect.x = self.xself.rect.y = self.y

?

子彈類(lèi)

import pygame from pygame.sprite import Sprite import math from pygame import transformclass Bullet(Sprite):def __init__(self,raiden_settings,screen,ship,angle):super().__init__()self.screen = screenself.image = pygame.image.load(raiden_settings.bullet_image)self.image = pygame.transform.rotate(self.image,angle)self.rect = self.image.get_rect()self.rect.centerx = ship.rect.centerxself.rect.top = ship.rect.topself.y = float(self.rect.y) self.x = float(self.rect.x)self.angle = angleself.speed_factor = raiden_settings.bullet_speed_factordef update(self):self.y -=self.speed_factor * math.cos(self.angle)self.x +=self.speed_factor * math.sin(self.angle)self.rect.y = self.yself.rect.x = self.xdef draw_bullet(self):pygame.draw.rect(self.screen,self.color,self.rect)

?

?

按鈕類(lèi)

import pygame.fontclass Button():def __init__(self,raiden_settings,screen,msg):self.screen = screenself.screen_rect = screen.get_rect()self.width = raiden_settings.button_widthself.height = raiden_settings.button_heightself.button_color = raiden_settings.button_colorself.text_color = raiden_settings.button_text_colorself.font = pygame.font.SysFont(None,raiden_settings.button_font_size)self.rect = pygame.Rect(0,0,self.width,self.height)self.rect.center = self.screen_rect.centerself.prep_msg(msg)def prep_msg(self,msg):self.msg_image = self.font.render(msg,True,self.text_color,self.button_color)self.msg_image_rect = self.msg_image.get_rect()self.msg_image_rect.center = self.rect.centerdef draw_button(self):self.screen.fill(self.button_color,self.rect)self.screen.blit(self.msg_image,self.msg_image_rect)

?

掉落物類(lèi)

import pygame from pygame.sprite import Spriteclass DropItem(Sprite):def __init__(self,raiden_settings,screen,enemy,ship):super().__init__()self.screen = screenself.raiden_settings = raiden_settingsself.image = pygame.image.load( \raiden_settings.dropitem_image[ship.arms_level - 1]). \convert_alpha()self.rect = self.image.get_rect()self.rect.centerx = enemy.rect.centerxself.rect.top = enemy.rect.bottomself.y = self.rect.yself.speed_factor = raiden_settings.dropitem_speed_factorself.level = ship.arms_level + 1def update(self):self.y +=self.speed_factorself.rect.y = self.ydef draw_dropitem(self):self.screen.blit(self.image,self.rect)

?

敵機(jī)類(lèi)

import pygame from pygame.sprite import Sprite from pygame import transform from random import randintclass Enemy(Sprite):def __init__(self,raiden_settings,screen):super().__init__()self.screen = screenself.raiden_settings = raiden_settingsself.enemy_type = randint(1,3)self.image = pygame.image.load(raiden_settings. \enemy_image[self.enemy_type - 1]).convert_alpha()self.image = transform.smoothscale(self.image,raiden_settings.enemy_image_rect)self.image = pygame.transform.rotate(self.image, raiden_settings.direction_angle)self.rect = self.image.get_rect()self.x = float(self.rect.x)self.y = float(self.rect.y)self.barrage_type = self.enemy_typeself.set_enemy_rect()def blitme(self):self.screen.blit(self.image,self.rect)def update(self):# ~ self.x += (self.raiden_settings.enemy_speed_factor *# ~ self.raiden_settings.fleet_direction)# ~ self.rect.x = self.xif self.enemy_type == 1:self.y += self.raiden_settings.enemy_speed_factor if self.enemy_type == 2:if self.x < 100 :self.x += self.raiden_settings.enemy_speed_factorelif self.x >self.screen.get_rect().right - 100:self.x -= self.raiden_settings.enemy_speed_factorif self.enemy_type == 3:if self.x <= self.screen.get_rect().right:self.x += self.raiden_settings.enemy_speed_factorelse:self.x -= self.raiden_settings.enemy_speed_factorself.y += self.raiden_settings.enemy_speed_factorself.rect.x = self.xself.rect.y = self.ydef check_edges(self):screen_rect = self.screen.get_rect()if self.rect.right >= screen_rect.right:return Trueelif self.rect.left <= 0:return Truedef set_enemy_rect(self):if self.enemy_type == 1:self.x = randint(0,self.screen.get_rect().width)self.y = 0elif self.enemy_type == 2:self.y = 200if randint(1,2) == 1:self.x = 0else:self.x = self.screen.get_rect().rightelif self.enemy_type == 3:self.y = randint(0,300)if randint(1,2) == 1:self.x = 0else:self.x = self.screen.get_rect().rightself.rect.x = self.xself.rect.y = self.y

?

游戲內(nèi)功能函數(shù)類(lèi)

import sys import pygamefrom Bullet import Bullet from Enemy import Enemy from time import sleep from dropitem import DropItem from random import random from barrage import Barrage#檢查輸入 def check_events(raiden_settings,screen,stats,ship,enemys,bullets,play_button,sprites):for event in pygame.event.get():if event.type == pygame.QUIT:sys.exit()elif event.type == pygame.KEYDOWN:check_keydown_event(event,raiden_settings,screen,ship,bullets,sprites)elif event.type == pygame.KEYUP:check_keyup_event(event,ship)elif event.type == pygame.MOUSEBUTTONDOWN:mouse_x,mouse_y = pygame.mouse.get_pos()check_play_button(raiden_settings,stats,screen,play_button,mouse_x,mouse_y)elif event.type == pygame.USEREVENT:create_enemy(raiden_settings,screen,enemys,sprites)#更新屏幕 def update_screen(screen,stats,play_button,sprites):if not stats.game_active:play_button.draw_button()else:updates = sprites.draw(screen)pygame.display.update(updates)pygame.display.flip()#檢查按下輸入 def check_keydown_event(event,raiden_settings,screen,ship,bullets,sprites):if event.key == pygame.K_d:ship.moving_right = Trueelif event.key == pygame.K_a:ship.moving_left = Trueelif event.key == pygame.K_SPACE:fire_bullet(raiden_settings,screen,ship,bullets,sprites)elif event.key == pygame.K_w:ship.moving_up = Trueelif event.key == pygame.K_s:ship.moving_down = Trueelif event.key == pygame.K_q:sys.exit()#檢查放開(kāi)輸入 def check_keyup_event(event,ship):if event.key == pygame.K_d:ship.moving_right = Falseelif event.key == pygame.K_a:ship.moving_left = Falseelif event.key == pygame.K_w:ship.moving_up = Falseelif event.key == pygame.K_s:ship.moving_down = False#更新子彈 def update_bullets(raiden_settings,screen,stats,ship,enemys,bullets,dropitems,scoreboard,sprites):for bullet in bullets.copy():if bullet.rect.bottom <=0 or bullet.rect.x <= 0 or \bullet.rect.x >= raiden_settings.screen_width:bullets.remove(bullet)collisions = pygame.sprite.groupcollide(bullets,enemys,True,True)if collisions:enemy_hit(raiden_settings,screen,stats,ship,enemys,dropitems,scoreboard,collisions,sprites)#敵人被擊中 def enemy_hit(raiden_settings,screen,stats,ship,enemys,dropitems,scoreboard,collisions,sprites):for bullet,enemy_list in collisions.items():stats.score += raiden_settings.score_up_factorscoreboard.prep_score()scoreboard.show_score()if check_drop(raiden_settings):for enemy in enemy_list:new_dropitem = DropItem(raiden_settings,screen,enemy,ship)dropitems.add(new_dropitem)sprites.add(new_dropitem)#更新掉落物 def update_dropitems(raiden_settings,screen,stats,ship,dropitems,sprites):for dropitem in dropitems.copy():if dropitem.rect.bottom <= 0:sprites.remove(dropitem)dropitems.remove(dropitem)collision = pygame.sprite.spritecollideany(ship,dropitems)if collision:sprites.remove(collision)dropitems.remove(collision)if collision.level == ship.arms_level + 1:ship.update_arms()#開(kāi)火 def fire_bullet(raiden_settings,screen,ship,bullets,sprites):bullet_list = []if ship.arms_level == raiden_settings.arms_1_level:bullet_list.append(Bullet(raiden_settings,screen,ship,raiden_settings.vertical_angle))elif ship.arms_level == raiden_settings.arms_2_level:bullet_list.append(Bullet(raiden_settings,screen,ship,raiden_settings.left_deflectical_angle))bullet_list.append(Bullet(raiden_settings,screen,ship,raiden_settings.right_deflectical_angle))elif ship.arms_level == raiden_settings.arms_3_level:bullet_list.append(Bullet(raiden_settings,screen,ship,raiden_settings.vertical_angle))bullet_list.append(Bullet(raiden_settings,screen,ship,raiden_settings.left_deflectical_angle))bullet_list.append(Bullet(raiden_settings,screen,ship,raiden_settings.right_deflectical_angle))elif ship.arms_level == raiden_settings.arms_4_level:bullet_list.append(Bullet(raiden_settings,screen,ship,raiden_settings.vertical_angle))bullet_list.append(Bullet(raiden_settings,screen,ship,raiden_settings.left_deflectical_angle))bullet_list.append(Bullet(raiden_settings,screen,ship,raiden_settings.right_deflectical_angle))bullet_list.append(Bullet(raiden_settings,screen,ship,raiden_settings.left_horizontal_angle))bullet_list.append(Bullet(raiden_settings,screen,ship,raiden_settings.right_horizontal_angle))for bullet in bullet_list:bullets.add(bullet)sprites.add(bullet)#創(chuàng)建敵人 def create_enemy(raiden_settings,screen,enemys,sprites):enemy = Enemy(raiden_settings,screen)enemys.add(enemy)sprites.add(enemy)def update_enemys(raiden_settings,stats,lifeboard,screen,ship,enemys,bullets,sprites):if pygame.sprite.spritecollideany(ship,enemys):ship_hit(raiden_settings,stats,lifeboard,screen,ship,enemys,bullets,sprites)#玩家被擊中 def ship_hit(raiden_settings,stats,lifeboard,screen,ship,enemys,bullets,sprites):if stats.ships_left > 0:stats.ships_left -= 1ship.reset_ship()lifeboard.dead(stats,sprites)reset_game(raiden_settings,screen,ship,enemys,bullets,sprites)sleep(1)else:stats.game_active = Falsepygame.mouse.set_visible(False)stats.ship_left = raiden_settings.ship_init_lifestats.score = 0stats.reset_stats()ship.reset_ship()reset_game(raiden_settings,screen,ship,enemys,bullets,sprites)pygame.mouse.set_visible(True)lifeboard.dead(stats,sprites)#重置游戲 def reset_game(raiden_settings,screen,ship,enemys,bullets,sprites):for enemy in enemys:sprites.remove(enemy)enemys.empty()for bullet in bullets:sprites.remove(bullet)bullets.empty()sprites.clear(screen,clear_callback)ship.center_ship()#檢查玩家是否點(diǎn)擊play按鈕 def check_play_button(raiden_settings,stats,screen,play_button,mouse_x,mouse_y):if play_button.rect.collidepoint(mouse_x,mouse_y) and not \stats.game_active:stats.game_active = Truepygame.mouse.set_visible(False)screen.fill(raiden_settings.bg_color)#是否掉落物品 def check_drop(raiden_settings):if random() < raiden_settings.chance:return Trueelse:return False#檢查掉落物是否到達(dá)屏幕底 def check_dropitem_bottom(raiden_settings,stats,screen,dropitems):screen_rect = screen.get_rect()for dropitem in dropitems.sprite():if dropitem.rect.bottom >= screen_rect.bottom:dropitems.remove(dropitem)#清除子圖形 def clear_callback(surf, rect):bg = 255,255,255surf.fill(bg, rect)

?

生命值記錄板類(lèi)

from pygame.sprite import Sprite from pygame.sprite import Group from Ship import Ship from pygame import transformclass Lifeboard(Sprite):def __init__(self,raiden_settings,screen,stats,sprites):super().__init__()self.stats = statsself.screen = screenself.rect = screen.get_rect()self.raiden_settings = raiden_settingsself.ships = Group()self.ship_list = []self.prep_ships()for ship in self.ships:sprites.add(ship)ship.image = transform.smoothscale(ship.image,raiden_settings.lifeboard_image_rect)def prep_ships(self):for ship_number in range(self.stats.ships_left):ship = Ship(self.raiden_settings,self.screen)ship.center = self.raiden_settings.lifeboard_ship_center + \ship_number * self.raiden_settings. \lifeboard_ship_center_growthship.bottom = self.raiden_settings.lifeboard_ship_bottomself.ships.add(ship)self.ship_list.append(ship)def dead(self,stats,sprites):self.ships.remove(self.ship_list[-1])sprites.remove(self.ship_list[-1])del self.ship_list[-1]

?

游戲類(lèi)(主程序)

import sys import pygamefrom Settings import Settings from Ship import Ship import game_functions as gf from pygame.sprite import Group from Enemy import Enemy from GameStats import GameStats from Button import Button from Scoreboard import Scoreboard from Lifeboard import Lifeboarddef run_game():pygame.init()raiden_settings = Settings()screen = pygame.display.set_mode((raiden_settings.screen_width,raiden_settings.screen_height))EVENT_CREATE_ENEMY = pygame.USEREVENT pygame.time.set_timer(EVENT_CREATE_ENEMY,300)pygame.display.set_caption("Raiden")play_button = Button(raiden_settings,screen,"Play!")ship = Ship(raiden_settings,screen)bullets = Group()enemys = Group()dropitems = Group()sprites = pygame.sprite.RenderUpdates()stats = GameStats(raiden_settings)scoreboard = Scoreboard(raiden_settings,screen,stats)lifeboard = Lifeboard(raiden_settings,screen,stats,sprites)screen.fill(raiden_settings.bg_color)sprites.add(ship)sprites.add(scoreboard)while True:gf.check_events(raiden_settings,screen,stats,ship,enemys,bullets,play_button,sprites)if stats.game_active:sprites.clear(screen,gf.clear_callback)sprites.update()gf.update_bullets(raiden_settings,screen,stats,ship,enemys,bullets,dropitems,scoreboard,sprites)gf.update_dropitems(raiden_settings,screen,stats,ship,dropitems,sprites)gf.update_enemys(raiden_settings,stats,lifeboard,screen,ship,enemys,bullets,sprites)gf.update_screen(screen,stats,play_button,sprites)run_game()

?

計(jì)分板類(lèi)

import pygame.font from pygame.sprite import Sprite from pygame.sprite import Groupfrom Ship import Shipclass Scoreboard(Sprite):def __init__(self,raiden_settings,screen,stats):super().__init__()self.screen = screenself.screen_rect = screen.get_rect()self.raiden_settings = raiden_settingsself.stats = statsself.text_color = raiden_settings.scoreboard_text_colorself.font = pygame.font.SysFont(None,raiden_settings.scoreboard_font_size)self.prep_score()def prep_score(self):score_str = str(self.stats.score)self.image = self.font.render(score_str,True,self.text_color,self.raiden_settings.bg_color)self.rect = self.image.get_rect()self.rect.right = self.screen_rect.right self.rect.top = 0def show_score(self):self.screen.blit(self.image,self.rect)

?

常數(shù)類(lèi)

import mathclass Settings():def __init__(self):#屏幕設(shè)置self.screen_width = 300self.screen_height = 600self.bg_color = (255,255,255)#飛行速度設(shè)置self.ship_speed_factor = 0.3self.enemy_speed_factor = 0.3self.fleet_drop_speed = 8self.enemy_speed_up_factor = 0.1self.bullet_speed_factor = 0.7self.barrage_speed_factor = 0.7#飛行方向設(shè)置self.fleet_direction = 1#生命值self.ship_init_life = 3#分?jǐn)?shù)設(shè)置self.score_up_factor = 10#掉落物設(shè)置self.dropitem_speed_factor = 0.1#掉落指數(shù)設(shè)置self.chance = 0.5#武器等級(jí)設(shè)置self.init_arms_level = 1self.max_arms_level = 4self.arms_1_level = 1self.arms_2_level = 2self.arms_3_level = 3self.arms_4_level = 4#角度self.vertical_angle = 0self.right_deflectical_angle = math.pi/6self.left_deflectical_angle = -math.pi/6self.left_horizontal_angle = -math.pi/2self.right_horizontal_angle = math.pi/2self.direction_angle = 180self.angle_left_10 = -10self.angle_right_10 = 10#圖片位置self.enemy_image = ['image/enemy1.png','image/enemy2.png','image/enemy3.png',]self.ship_image = 'image/9.png'self.bullet_image = 'image/bullet.png'self.dropitem_image = ['image/dropitem1.png','image/dropitem2.png','image/dropitem3.png','image/dropitem4.png',]self.barrage_image = ['image\barrage1.png','image\barrage2.png','image\barrage3.png',]#enemy圖片大小self.enemy_image_rect = (30,30)#lifeboard圖片大小self.lifeboard_image_rect = (30,30)#ship圖片大小self.ship_image_rect = (50,50)#計(jì)分板字體顏色self.scoreboard_text_color = (30,30,30)#計(jì)分板字體大小self.scoreboard_font_size = 48#計(jì)分板位置self.lifeboard_ship_center = 25self.lifeboard_ship_bottom = 50self.lifeboard_ship_center_growth = 15#button設(shè)置self.button_text_color = (255,255,255)self.button_color = (0,255,0)self.button_width = 200self.button_height = 50self.button_font_size = 48

?

飛船類(lèi)

import pygame from Settings import Settings from pygame.sprite import Sprite from pygame import transformclass Ship(Sprite):def __init__(self,raiden_settings,screen):super().__init__()self.screen = screenself.raiden_settings = raiden_settingsself.image = pygame.image.load(raiden_settings.ship_image). \convert_alpha()self.image = transform.smoothscale(self.image,raiden_settings.ship_image_rect)self.rect = self.image.get_rect()self.screen_rect = screen.get_rect()self.rect.centerx = self.screen_rect.centerxself.rect.bottom = self.screen_rect.bottomself.arms_level = raiden_settings.init_arms_levelself.center = float(self.rect.centerx)self.bottom = float(self.rect.bottom)self.moving_right = Falseself.moving_left = Falseself.moving_up = Falseself.moving_down = Falsedef update(self):if self.moving_right and self.rect.right < \self.screen_rect.right:self.center += self.raiden_settings.ship_speed_factorif self.moving_left and self.rect.left > 0:self.center -= self.raiden_settings.ship_speed_factorif self.moving_up and self.rect.top > 0:self.bottom -=self.raiden_settings.ship_speed_factorif self.moving_down and self.rect.bottom < \self.screen_rect.bottom:self.bottom +=self.raiden_settings.ship_speed_factorself.rect.centerx = self.centerself.rect.bottom = self.bottomdef blitme(self):self.screen.blit(self.image,self.rect)def center_ship(self):self.center = self.screen_rect.centerxdef update_arms(self):if self.arms_level < self.raiden_settings.max_arms_level:self.arms_level += 1def reset_ship(self):self.rect.centerx = self.screen_rect.centerxself.rect.bottom = self.screen_rect.bottomself.center = self.screen_rect.centerxself.bottom = self.screen_rect.bottomself.arms_level = self.raiden_settings.init_arms_level

?

游戲內(nèi)部記錄類(lèi)

class GameStats():def __init__(self,raiden_settings):self.raiden_settings = raiden_settingsself.reset_stats()self.game_active = Falseself.score = 0def reset_stats(self):self.ships_left = self.raiden_settings.ship_init_life

?

轉(zhuǎn)載于:https://www.cnblogs.com/wdl1078390625/p/9877769.html

總結(jié)

以上是生活随笔為你收集整理的使用pygame开发一个弹幕射击游戏(一)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 丰满少妇一区二区三区专区 | 国产图区 | 91久久免费 | 香蕉精品视频在线观看 | 久久精品偷拍视频 | 国产在线综合网 | 69天堂| 欧美爱爱爱 | 久久久免费看片 | 动漫羞羞 | 在线观看福利网站 | 国产91丝袜在线播放 | 尤物在线免费视频 | 毛片无遮挡 | 欧洲一区二区在线观看 | 日韩美女在线 | 九九综合九九综合 | 综合激情五月婷婷 | 久久久噜噜噜久久久 | 午夜影院免费版 | 天天舔天天摸 | 哺乳期av| 香蕉视频网站在线观看 | 瑟瑟久久| 中文字幕av高清 | 国产伦精品一区二区三区照片91 | 蜜桃色999 | 亚洲深夜av| 黄色美女av | 在线观看日韩av电影 | 在线观看日韩国产 | 福利所第一导航 | 免费在线看黄网站 | 草草在线影院 | 性少妇xxxxx| 亚洲成人三级 | 国产香蕉视频在线观看 | 男女免费网站 | 美女隐私无遮挡网站 | 亚洲高清网 | 亚洲av无码不卡 | 欧美精品乱码久久久久久按摩 | 一区二区精品久久 | 日韩手机在线视频 | 三级视频在线观看 | 午夜激情黄色 | 啪啪视屏 | 日韩欧美综合在线 | 蜜桃视频在线入口www | 永久免费,视频 | 亚洲欧洲综合网 | 免费看黄网站在线 | 成人极品视频 | 色综合天天网 | 丁香婷婷六月天 | 久久影院国产 | 少妇全黄性生交片 | 美女插插视频 | 亚洲成人中文字幕在线 | 亚洲熟妇无码av在线播放 | 国产3p在线播放 | 亚洲色图 欧美 | 国产精品久久久久久久久免费看 | 初高中福利视频网站 | 在线免费观看日韩 | av成人 | 美女隐私无遮挡免费 | 国产毛片久久久 | av5566| 色屁屁ts人妖系列二区 | 国产午夜精品一区 | 手机电影在线观看 | 中文字幕精品视频在线观看 | 15p亚洲 | 国产精品黄色网 | 久热免费视频 | 欧美日韩在线影院 | 三级av在线| xxx一区二区| 精品视频在线观看免费 | 国语对白永久免费 | www.国产成人 | 久久97久久97精品免视看 | 浪潮av网站 | 中文字幕三级电影 | 国产成人一区二区三区视频 | 亚洲色图制服丝袜 | 久久国产成人精品国产成人亚洲 | 亚洲一区二区三区三州 | 九九热re| 国产精品wwww | 国产精品永久免费视频 | 一级全黄裸体免费视频 | 粗大黑人巨茎大战欧美成人免费看 | 中文字幕久久一区 | 国产99久久久 | 国产a视频 | 亚洲国产私拍精品国模在线观看 | 成人手机在线观看 |