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

主頁 > 知識庫 > Python實現(xiàn)飛機大戰(zhàn)項目

Python實現(xiàn)飛機大戰(zhàn)項目

熱門標(biāo)簽:電銷機器人錄音要學(xué)習(xí)什么 煙臺電話外呼營銷系統(tǒng) 外賣地址有什么地圖標(biāo)注 預(yù)覽式外呼系統(tǒng) 企業(yè)彩鈴地圖標(biāo)注 如何地圖標(biāo)注公司 上海正規(guī)的外呼系統(tǒng)最新報價 銀川電話機器人電話 長春極信防封電銷卡批發(fā)

本文實例為大家分享了Python實現(xiàn)飛機大戰(zhàn)的具體代碼,供大家參考,具體內(nèi)容如下

plane_main.py

import pygame
from 飛機大戰(zhàn).plane_sprites import *


class PlaneGame(object):
    """飛機大戰(zhàn)主程序"""

    def __init__(self):
        print("游戲初始化")
        #  1.創(chuàng)建游戲窗口
        self.screen = pygame.display.set_mode(SCREEN_RECT.size)
        #  2.創(chuàng)建游戲時鐘
        self.clock = pygame.time.Clock()
        #  3.創(chuàng)建游戲私有方法,精靈和精靈組的創(chuàng)建
        self.__create_sprites()
        #  4.設(shè)置定時器時間 -創(chuàng)建敵機
        pygame.time.set_timer(CREATE_ENEMY_EVENT, 1000)
        pygame.time.set_timer(HERO_FIRE_EVENT, 500)

    def __create_sprites(self):
        # 創(chuàng)建背景精靈和精靈組
        bg1 = Background()
        bg2 = Background(True)

        self.back_group = pygame.sprite.Group(bg1, bg2)
        # 創(chuàng)建敵機的精靈組
        self.enemy_group = pygame.sprite.Group()
        # 創(chuàng)建英雄的精靈和精靈組
        self.hero = Hero()
        self.hero_group = pygame.sprite.Group(self.hero)

    def start_game(self):
        print("游戲開始----")
        while True:
            # 1.設(shè)置刷新幀率
            self.clock.tick(FRAME_PER_SEC)
            # 2.時間監(jiān)聽
            self.__event_handler()
            # 3.碰撞檢測
            self.__check_collide()
            # 4.更新/繪制精靈組
            self.__update_sprites()
            # 5.更新顯示
            pygame.display.update()

    def __event_handler(self):
        for event in pygame.event.get():
            # 判斷是否退出游戲
            if event.type == pygame.QUIT:
                PlaneGame.__game_over()
            elif event.type == CREATE_ENEMY_EVENT:
                print("敵機出場----")
                # 創(chuàng)建敵機精靈
                enemy = Enemy()
                # 將敵機精靈添加到敵機精靈組
                self.enemy_group.add(enemy)
            elif event.type == HERO_FIRE_EVENT:
                self.hero.fire()
            # elif event.type == pygame.KEYDOWN and event.key == pygame.K_RIGHT:
            #     print("向右移動")
        # 使用鍵盤提供的方法獲取鍵盤按鍵 -按鍵元組
        keys_pressed = pygame.key.get_pressed()
        # 判斷元組中對應(yīng)的按鍵索引值
        if keys_pressed[pygame.K_RIGHT]:
            self.hero.speed = 10
        elif keys_pressed[pygame.K_LEFT]:
            self.hero.speed = -10
        else:
            self.hero.speed = 0

    def __check_collide(self):
        # 1.子彈摧毀敵機
        pygame.sprite.groupcollide(self.hero.bullets, self.enemy_group, True, True)
        # 2.敵機撞毀英雄
        enemies = pygame.sprite.spritecollide(self.hero, self.enemy_group, True)
        # 判斷列表是否有內(nèi)容
        if len(enemies) > 0:
            # 讓英雄犧牲
            self.hero.kill()
            # 結(jié)束游戲
            PlaneGame.__game_over()

    def __update_sprites(self):
        self.back_group.update()
        self.back_group.draw(self.screen)

        self.enemy_group.update()
        self.enemy_group.draw(self.screen)

        self.hero_group.update()
        self.hero_group.draw(self.screen)

        self.hero.bullets.update()
        self.hero.bullets.draw(self.screen)

    @staticmethod
    def __game_over():
        print("游戲結(jié)束")
        pygame.quit()
        exit()
if __name__ == '__main__':

    # 創(chuàng)建游戲?qū)ο?
    game = PlaneGame()

    # 啟動游戲
    game.start_game()

plane_sprites.py

import random
import pygame

# 屏幕大小的常量
SCREEN_RECT = pygame.Rect(0, 0, 512, 768)
# 刷新的幀率
FRAME_PER_SEC = 60
# 創(chuàng)建敵機的定時器常量
CREATE_ENEMY_EVENT = pygame.USEREVENT
# 英雄發(fā)射子彈事件
HERO_FIRE_EVENT = pygame.USEREVENT + 1


class GameSprite(pygame.sprite.Sprite):
    """飛機大戰(zhàn)游戲精靈"""

    def __init__(self, image_name, speed=1):

        # 調(diào)用父類的初始化方法
        super().__init__()
        # 定義對象屬性
        self.image = pygame.image.load(image_name)
        self.rect = self.image.get_rect()
        self.speed = speed

    def update(self):
        # 在屏幕的垂直方向上移動
        self.rect.y += self.speed


class Background(GameSprite):
    """游戲背景精靈"""
    def __init__(self, is_alt=False):
        # 1.調(diào)用父類方法實現(xiàn)精靈的創(chuàng)建
        super().__init__("./images/img_bg_level_5.jpg")
        # 2.判斷是否交替圖像
        if is_alt:
            self.rect.y = -self.rect.height

    def update(self):
        # 1.調(diào)用父類的方法實現(xiàn)
        super().update()
        # 2.判斷是否移出屏幕
        if self.rect.y >= SCREEN_RECT.height:
            self.rect.y = -self.rect.height


class Enemy(GameSprite):
    """敵機精靈"""
    def __init__(self):

        # 1.調(diào)用父類方法,創(chuàng)建敵機精靈,同時指定敵機圖片
        super().__init__("./images/img-plane_2.png")
        # 2.指定敵機的初始隨機速度
        self.speed = random.randint(2, 5)
        # 3.指定敵機的初始隨機位置
        self.rect.bottom = 0
        max_x = SCREEN_RECT.width - self.rect.width
        self.rect.x = random.randint(0, max_x)

    def update(self):
        # 1.調(diào)用父類方法,保持垂直方向飛行
        super().update()
        # 2.判斷是否飛出屏幕,如果是,則從精靈組刪除敵機
        if self.rect.y >= SCREEN_RECT.height:
            print("飛機飛出屏幕,需要從精靈組刪除---")
            # kill方法可以將精靈從所有精靈組中移除,精靈就會自動銷毀
            self.kill()

    def __del__(self):
        # print("敵機掛了%s" % self.rect)
        pass


class Hero(GameSprite):
    """英雄精靈"""
    def __init__(self):
        # 1.調(diào)用父類方法,設(shè)置imagespeed
        super().__init__("./images/hero2.png", 0)
        # 2.設(shè)置英雄的初始位置
        self.rect.centerx = SCREEN_RECT.centerx
        self.rect.bottom = SCREEN_RECT.bottom - 20
        # 3.創(chuàng)建子彈精靈組
        self.bullets = pygame.sprite.Group()

    def update(self):
        # 英雄在水平方向移動
        self.rect.x += self.speed

        # 英雄不能離開屏幕
        if self.rect.x  0:
            self.rect.x = 0
        elif self.rect.right > SCREEN_RECT.right:
            self.rect.right = SCREEN_RECT.right

    def fire(self):
        for i in (0, 1, 2):
            # 1.創(chuàng)建子彈精靈
            bullet = Bullet()
            # 2.設(shè)置精靈位置
            bullet.rect.bottom = self.rect.y - i*40
            bullet.rect.centerx = self.rect.centerx

            # 3.將子彈添加到精靈組
            self.bullets.add(bullet)


class Bullet(GameSprite):
    """子彈精靈"""

    def __init__(self):

        # 調(diào)用父類方法,設(shè)置子彈圖片,設(shè)置初始速度
        super().__init__("./images/bullet_11.png", -5)

    def update(self):
        #  調(diào)用父類方法,讓子彈垂直飛出屏幕
        super().update()

        #  判斷子彈是否飛出屏幕
        if self.rect.bottom  0:
            self.kill()

    def __del__(self):
        print("子彈被銷毀")

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • python開發(fā)飛機大戰(zhàn)游戲
  • Python實現(xiàn)簡單飛機大戰(zhàn)
  • python飛機大戰(zhàn)游戲?qū)嵗v解
  • python3實現(xiàn)簡單飛機大戰(zhàn)
  • Pygame實戰(zhàn)練習(xí)之飛機大戰(zhàn)游戲

標(biāo)簽:湖北 佳木斯 宜昌 潮州 西寧 珠海 盤錦 上饒

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Python實現(xiàn)飛機大戰(zhàn)項目》,本文關(guān)鍵詞  Python,實現(xiàn),飛機,大戰(zhàn),項目,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Python實現(xiàn)飛機大戰(zhàn)項目》相關(guān)的同類信息!
  • 本頁收集關(guān)于Python實現(xiàn)飛機大戰(zhàn)項目的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    黄色av网址在线免费观看| 国产成人精品免高潮在线观看| 欧美日韩午夜爽爽| 精品视频一区 二区 三区| 久久夜色精品国产噜噜av小说| 国产女人18水真多18精品一级做| 91精品在线观看视频| 欧美日韩亚洲色图| 日韩第一页在线观看| 美女精品视频在线| 国产毛片在线| 污网站免费观看| 亚洲激情在线视频| 两个人的视频www国产精品| 欧美一区二区三区四区在线| 伊人影院蕉久影院在线观看| 日韩欧美一区二区三区| 美女视频久久| 大肉大捧一进一出好爽| 欧美日韩高清| 欧美色图888| 伊人久久av| 久久亚洲精品中文字幕冲田杏梨| 日韩**中文字幕毛片| 亚洲美女在线播放| www浪潮av99com| 亚洲成人av中文| 亚洲国产精品一区二区久久hs| 九九精品视频在线观看| 欲香欲色天天天综合和网| 久久香蕉综合色| 久草在线中文最新视频| 粉嫩av一区二区三区粉嫩| 日韩欧美激情在线| 午夜成人免费视频| 久久久久久久久国产精品| 91精品国产777在线观看| 巨茎人妖videos另类| 第一福利在线| 欧美麻豆久久久久久中文| 日韩中文在线中文网三级| 亚洲成色777777女色窝| 天天操天天操天天操天天操天天操| 青草av.久久免费一区| 欧美日韩亚洲综合一区二区三区| 久久成人人人人精品欧| 欧美国产日产韩国视频| 日韩国产欧美精品| 青青精品视频播放| 日韩在线观看视频免费| 国产视频一区二区三区在线观看| 筱崎爱全乳无删减在线观看| 2019中文字幕在线观看| 91精品国产91久久久久久| 韩日三级av| 免费av网站在线观看| 欧美少妇精品| 亚洲欧美综合7777色婷婷| 91av中文字幕| 欧美高清视频在线高清观看mv色露露十八| 欧美美女黄色| 黑人欧美xxxx| 一级片黄色录像| 中文字幕5566| 国产黄色片在线免费观看| 欧美视频一区二区| 成人乱码一区二区三区av| av影院午夜一区| 欧美日韩中文字幕视频| 国产精品国产av| 在线免费观看中文字幕| 成人在线观看免费网站| 精品免费久久久| 欧美写真视频网站| 欧美在线视频一区| 在线碰免费视频在线观看| 极品盗摄国产盗摄合集| 91精品国产91久久久久麻豆 主演| 久久高清视频免费| 午夜视频在线观看一区二区三区| 国产一卡二卡在线| 欧美女激情福利| 亚洲www.| 欧美性色综合网| 好男人在线视频www| 55av亚洲| 中文字幕在线免费观看| 3d动漫精品啪啪一区二区下载| 澳门成人av网| 在线成人精品视频| 91精品国产91久久久久久黑人| 欧美国产日韩电影| 日本激情在线观看| 欧美中文字幕一区| 亚瑟一区二区三区四区| 国产美女精品视频国产| 视频在线91| av在线精品| 久久久青草婷婷精品综合日韩| 精品国产一区二区三区麻豆免费观看完整版| 香蕉久久夜色精品| 超清福利视频| 欧美激情亚洲激情| 国产成人在线视频网址| 国产美女被遭强高潮免费网站| 国产精品入口尤物| 精品深夜福利视频| 欧美吻胸吃奶大尺度电影| 久久天堂av综合合色| 日韩中文字幕不卡| 开心快乐六月丁香婷婷| 最新精品视频| 999视频在线观看| 91成人app| 在线日韩av观看| 色一情一乱一伦一区二区三区| 国产日本一区二区三区| 欧美性猛交xxx乱大交3蜜桃| 日韩欧美在线观看强乱免费| 一级免费视频| 视频区小说区图片区| 美女视频黄a视频全免费观看| 啪啪免费视频一区| 国产精品99久久久久久动医院| 黄色av电影在线观看| 亚洲欧美日韩综合在线| 欧美成人精品欧美一级乱| 亚洲精品va在线观看| 亚洲free性xxxx护士白浆| 欧美欧美天天天天操| 日韩一级大片在线| 久久久久久久久久久影院| 国产98在线| 日本亚洲欧洲精品| 成人国内精品久久久久一区| 日韩欧美精品网址| 国产精品一区二区免费视频| 欧美日韩亚洲第一页| 国产亚洲精品久久久优势| 成人毛片在线播放| www国产成人免费观看视频 深夜成人网| 久久综合伊人77777麻豆最新章节| 亚洲精品久久| 日韩在线免费电影| 日韩黄色av| 欧美性感美女h网站在线观看免费| 少妇无码av无码专区在线观看| 四虎免费播放| 国产精品第5页| 日韩在线一区二区三区免费视频| 中文字幕在线视频一区| 宅男66日本亚洲欧美视频| 成人黄色免费网站| 午夜免费一区二区| 天天干天天爽| 精品国产一区二区三区麻豆免费观看完整版| 欧美日韩一二区| 韩日在线视频| www精品国产| 久久av一区二区三| 粉嫩欧美一区二区三区| 国产精品v日韩精品v在线观看| 深夜免费福利视频| 中文字幕国产传媒| 手机在线免费观看毛片| 麻豆成人在线播放| 亚洲国产精品成人综合| 丰满湿润大白屁股bbw按摩| 激情综合网五月天| 亚洲在线免费观看视频| 亚洲香蕉在线观看| 色8久久影院午夜场| 欧美二区在线观看| 亚洲精品在线观看91| 永久域名在线精品| 精品国产一区二区三区四区精华| www.中文字幕在线观看| 亚洲女人av| 国产九色91回来了| 免费免费啪视频在线观看| 给个网站可以在线观看你懂的| 国产精品视频永久免费播放| 亚洲中字在线| 香蕉免费一区二区三区在线观看| 亚洲在线国产日韩欧美| 午夜国产在线| 国产超碰人人爽人人做人人爱| 一级片手机在线观看| 婷婷综合亚洲| 国产精品国内视频| 国产一二三在线视频| 中文字幕在线观看播放| 另类高清dbsm日本tvav| 国产成人亚洲综合91| 亚洲高清免费观看高清完整版| 久热99视频在线观看| 国产激情一区二区三区四区| 午夜久久久久久噜噜噜噜| 欧美精品一二区| 春色校园综合激情亚洲| 国精产品一区一区三区mba视频| 免费yellow网站| 成人乱码一区二区三区| 青青草在线播放| 欧美精品一区二区久久久| 在线天堂中文字幕| 国产精品极品| 欧美视频久久久| 成人免费看片98欧美| 波多野结衣av在线播放| 欧美男男video| av网站网址| 久久国产精品-国产精品| 又嫩又硬又黄又爽的视频| www国产精品av| av色资源站| 久久久夜色精品| 奇米色一区二区三区四区| 99伊人久久| 嗯~啊~轻一点视频日本在线观看| 精品视频一区在线| 高清在线一区二区| 亚洲韩国青草视频| 久久久久久久久久久久久久免费看| 中文字幕 欧美 日韩| 亚洲高清免费观看高清完整版在线观看| 亚洲精品电影| www.偷拍.com| 黄色一级免费视频| 影音先锋男人看片资源| 欧美成人精品一区二区男人小说| av香蕉成人| 91精品国产经典在线观看| 成人18夜夜网深夜福利网| jjzzjjzz欧美69巨大| 亚洲视频自拍| 国产成人精品免费视频大全软件| 亚洲影视第一页| 亚洲精选视频在线| 精品亚洲自拍| 久久综合久久美利坚合众国| 精品一区av| 91视视频在线直接观看在线看网页在线看| 天天干天天插天天射| 国产精品乱码一区二区| 99re这里有精品| 国产精品夫妻自拍| 福利欧美精品在线| 亚洲视频在线a| 欧美日韩国产乱码电影| 欧美中文字幕第一页| 国产一级理论片| 青青草原国产免费| 精品国产亚洲AV| 九九九热999| 亚洲国产成人一区二区三区| jizz欧美性11| 精品成人佐山爱一区二区| 97久久精品一区二区三区的观看方式| 少妇一级淫免费播放| 性欧美大战久久久久久久久| 一起草最新网址| 神马久久久久久久久| 国产黄色免费电影| 麻豆精品视频在线观看| 欧美国产日本高清在线| 国产精品免费无遮挡| jjzzjjzz欧美69巨大| 成人网18免费网站| 天天操夜夜添| 国产成人精品免费看在线播放| 色丁香婷婷综合久久| 欧美专区日韩专区| 神马影院午夜我不卡| 日韩国产欧美精品一区二区三区| 欧美一级精品片在线看| 最新亚洲精品国自产在线观看| 国产精品热久久| 久久久午夜精品| 亚洲男人天堂网| 亚洲毛片亚洲毛片亚洲毛片| 亚洲激情视频一区| 一级黄色特级片| 国产精品久久久久久久久久| 在线播放日韩| 激情视频亚洲| 国产色91在线| 亚洲韩国一区二区三区| 亲子乱一区二区三区电影| 欧美亚洲日本国产| 美女黄页在线观看| 色综合桃花网| 伊人色在线视频| 性欧美.com| 国产一区二区三区影视| 国产精品111| 久久亚洲精精品中文字幕| 国产国语刺激对白av不卡| 欧美日韩一级大片网址| 国产精品毛片无遮挡高清| 亚洲精品www久久久| 日韩一级二级| 欧美人善交videosg| 日本久久精品视频| 精品国产污污免费网站入口| 国产精品日韩精品中文字幕| 亚洲成人一二三| 亚洲自拍三区| 在线a免费看| 久久久久久久激情视频| 在线影院国内精品| 国产精品久久久久久久久免费看| 欧美性欧美巨大黑白大战| 久久男人资源视频| 久久久久久蜜桃一区二区| 欧洲精品国产| 一本一生久久a久久精品综合蜜| 亚洲综合一区二区三区| 成人xxxxx| 国产精品伦理一区二区三区| 中日韩美女免费视频网站在线观看| 日本欧美一区二区三区不卡视频| 男人的天堂在线视频| 国产免费观看久久黄| 性欧美高清强烈性视频| 国产一区高清在线| 在线午夜精品| 国产白丝袜美女久久久久|