亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Pygame改編飛機大戰(zhàn)制作兔子接月餅游戲

 更新時間:2022年09月06日 09:09:48   作者:清遠(yuǎn)小阮  
一年中秋又快到了,今年加入了Python的學(xué)習(xí)行列,得益于Python的開發(fā)效率和易讀性,網(wǎng)上寫文章的次數(shù)多了起來,既然是中秋節(jié)那肯定要搞個應(yīng)景的游戲才行

前言

左思右想沒有頭緒時,剛好看到一篇介紹Pygame制作飛機大戰(zhàn)的文章。文章寫的不錯,文中代碼拿來就能跑。有了!要不直接把飛機大戰(zhàn)改成接兔子接月餅游戲好了,既應(yīng)景又創(chuàng)新,原飛機改成兔子,敵人改成月餅就好了。

飛機大戰(zhàn)傳送門

說干就干,拿起手提飛快碼起,素材找起,很快就有成果了,哈哈!

代碼寫的急不怎么優(yōu)雅,但至少游戲是跑起來了。原來飛機大戰(zhàn)代碼沒有實現(xiàn)暫停、重開,得分計算和游戲菜單,這次魔改的都給補上了,有興趣的童鞋可以了解一下。

一、游戲效果展示

游戲效果如下,還可以吧~

游戲動圖

最后希望大家中秋快樂,人月兩團(tuán)圓~

游戲截圖

二、游戲文件邏輯架構(gòu)

每次看別人寫的文章都有很多收獲,這次學(xué)會了很多Python類的相關(guān)用法,收益匪淺。本游戲的文件架構(gòu)主要分為三個部分:

1)游戲主體,對應(yīng)的文件是lunar_war.py

2)游戲精靈,對應(yīng)的文件是lunar_sprites.py

3)游戲素材,對應(yīng)的是images目錄下的所有圖片、音樂等素材,部分素材來源網(wǎng)絡(luò)如有使用不當(dāng)?shù)恼埪?lián)系博主處理o(╥﹏╥)o。

代碼文件結(jié)構(gòu)

三、游戲主體代碼結(jié)構(gòu)

游戲主體代碼lunar_war.py負(fù)責(zé)控制游戲初始化、開始、結(jié)束、退出,偽代碼如下:

class PlaneGame(object):
    """兔子接月餅游戲"""
    def __init__(self):
        print("游戲初始化")
        pygame.init()
        # 1.創(chuàng)建游戲的窗口
        self.screen = pygame.display.set_mode(SCREEN_RECT.size)
        # 2.創(chuàng)建游戲的時鐘
        self.clock = pygame.time.Clock()
        # 3.調(diào)用私有方法,完成精靈和精靈組的創(chuàng)建
        self.__create_sprites()
        # 4.設(shè)置定時器事件——每1秒創(chuàng)建一次月餅
        pygame.time.set_timer(CREATE_MOONCAKE_EVENT, 1000)
        # 5.設(shè)置定時器事件——倒計時每1秒觸發(fā)一次
        pygame.time.set_timer(CREATE_I_EVENT, 1000)
        # 6.設(shè)置定時器事件——10秒后結(jié)束游戲
        pygame.time.set_timer(CREATE_OVER_EVENT, 10000)
        # 7.設(shè)置游戲狀態(tài),1代表開始,0代表結(jié)束,-1代表退出
        self.game_state = 1
    def __create_sprites(self):
        """創(chuàng)建背景精靈和精靈組"""
    def start_game(self):
        """游戲循環(huán)"""
        while True:
            if self.game_state == 1:
                """游戲進(jìn)行中"""
                # 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()
            elif self.game_state == 0:
                """游戲某一輪結(jié)束"""
            elif self.game_state == -1:
                """游戲退出"""
    def __event_handler(self):
        for event in pygame.event.get():
            """事件響應(yīng)"""
    def __check_collide(self):
        """碰撞響應(yīng)"""
    def __update_sprites(self):
        """重繪精靈"""
    @staticmethod
    def __game_over():
        print("游戲結(jié)束")
        pygame.quit()
        exit()
if __name__ == "__main__":
    # 創(chuàng)建游戲?qū)ο?
    game = PlaneGame()
    # 啟動游戲
    game.start_game()

學(xué)習(xí)過程中有幾個難點:

1)Pygame游戲事件定時器的創(chuàng)建,比如為了實現(xiàn)每隔一秒創(chuàng)建一個月餅精靈,游戲初始化時就可以使用pygame.time.set_timer(CREATE_MOONCAKE_EVENT, 1000)每隔一秒觸發(fā)一個CREATE_MOONCAKE_EVENT事件,CREATE_MOONCAKE_EVENT是在游戲精靈代碼文件lunar_sprites.py中定義的用戶事件變量。

然后在while True循環(huán)中使用self.__event_handler()處理該事件生成月餅精靈。

    def __init__(self):
        print("游戲初始化")
        pygame.init()
        # 1.創(chuàng)建游戲的窗口
        self.screen = pygame.display.set_mode(SCREEN_RECT.size)
        # 2.創(chuàng)建游戲的時鐘
        self.clock = pygame.time.Clock()
        # 3.調(diào)用私有方法,完成精靈和精靈組的創(chuàng)建
        self.__create_sprites()
        # 4.設(shè)置定時器事件——每1秒創(chuàng)建一次月餅
        pygame.time.set_timer(CREATE_MOONCAKE_EVENT, 1000)
    def __event_handler(self):
        for event in pygame.event.get():
            # 判斷是否退出游戲
            if event.type == pygame.QUIT:
                self.game_state = -1
            elif event.type == CREATE_MOONCAKE_EVENT:
                # 創(chuàng)建月餅精靈
                mooncake = Mooncake()
                # 將月餅精靈添加到月餅精靈組
                self.mooncake_group.add(mooncake)

2)Pygame游戲事件定時器的停止,這里百度了好久都沒找到停止定時器的方法,其實停止很簡單,把第二個參數(shù)設(shè)為0就停止了,例如要停止上面每秒觸發(fā)的生成月餅事件,直接使用代碼pygame.time.set_timer(CREATE_MOONCAKE_EVENT, 0)即可。下面的代碼是停止倒計時事件,下一次游戲開始時重新開始倒計時。

    def __check_menu_collide(self):
        click_list = pygame.sprite.spritecollide(self.menu_sprite, self.mouse_group,False)
        if len(click_list) > 0:
            """鼠標(biāo)擊中菜單,重新開始游戲"""
            # 1.設(shè)置游戲狀態(tài)為進(jìn)行中
            self.game_state = 1
            # 2.重置鼠標(biāo)位置
            self.mouse_sprite.rect.top=0
            self.mouse_sprite.rect.left=0
            # 3.重新總時間,10s秒后結(jié)束
            pygame.time.set_timer(CREATE_OVER_EVENT, 0)
            pygame.time.set_timer(CREATE_OVER_EVENT, 10000)
            # 4.重置分?jǐn)?shù)精靈
            self.score_sprite.score = 0
            # 5.重置倒計時精靈
            self.countdown_sprite.start_time = 10

3)pygame判斷鼠標(biāo)點擊游戲精靈,這里也是百度了好久,最后還是找到解決辦法。需要自己創(chuàng)建一個鼠標(biāo)精靈類,創(chuàng)建該精靈的rect,每次鼠標(biāo)點擊判斷pygame.MOUSEBUTTONDOWN事件,同步更新鼠標(biāo)精靈rect的top,left,最后使用pygame.sprite.spritecollide()判斷鼠標(biāo)精靈與被點擊精靈之間是否有碰撞,有碰撞相當(dāng)于鼠標(biāo)點擊了對應(yīng)的精靈。下圖是鼠標(biāo)點擊重新開始精靈。

鼠標(biāo)點擊“重新開始”精靈

    def __event_menu_handler(self):
        for event in pygame.event.get():
            # 判斷是否退出游戲
            if event.type == pygame.QUIT:
                self.game_state = -1
            elif event.type == pygame.MOUSEBUTTONDOWN:
                if event.button == 1:
                    # 點擊左鍵
                    pos = pygame.mouse.get_pos()
                    self.mouse_sprite.rect.top = pos[1]
                    self.mouse_sprite.rect.left = pos[0]
                    self.menu_sprite.update()

四、游戲精靈代碼結(jié)構(gòu)

本游戲一共有七個精靈,分別是月餅精靈、兔子精靈、背景精靈、得分精靈、倒計時精靈、菜單精靈、鼠標(biāo)精靈,每個精靈都繼承Pygame的pygame.sprite.Sprite類。這里重點講一下月餅精靈和兔子精靈。

1)月餅精靈,首先調(diào)用父類初始化方法載入./images/mooncake2.png作為精靈的圖片對象,然后設(shè)置月餅精靈的下落self.speed速度為2到3之間,接著設(shè)置月餅精靈出現(xiàn)的self.rect.x橫坐標(biāo)實現(xiàn)月餅隨機出現(xiàn),最后當(dāng)月餅精靈超出屏幕時刪除月餅精靈。

月餅降落

class Mooncake(GameSprite):
    """月餅精靈"""
    def __init__(self):
        # 1.調(diào)用父類方法,創(chuàng)建月餅精靈,同時指定月餅圖片
        super().__init__("./images/mooncake2.png")
        # 2.指定月餅的初始隨機速度
        self.speed = random.randint(2, 3)
        # 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

2)兔子精靈,首先調(diào)用父類初始化方法載入./images/rabbit2.png作為精靈的圖片對象;然通過self.rect.centerx和self.rect.bottom設(shè)置兔子精靈一開始在屏幕中間偏下位置;接著通過self.rect.x += self.speed,設(shè)置兔子在水平方向移動;最后限制當(dāng)兔精靈超出屏幕。

兔子精靈左右移動

class Rabbit(GameSprite):
    """兔子精靈"""
    def __init__(self):
        # 1.調(diào)用父類方法,設(shè)置image&speed
        super().__init__("./images/rabbit2.png", 0)
        # 2.設(shè)置兔子的初始位置
        self.rect.centerx = SCREEN_RECT.centerx
        self.rect.bottom = SCREEN_RECT.bottom - 20
    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

另外,控制兔子根據(jù)鍵盤←鍵、→鍵左右移動的方法在精靈代碼文件lunar_war.py中實現(xiàn),以下是lunar_war.py中的控制代碼:

# 使用鍵盤提供的方法獲取鍵盤按鍵 - 按鍵元組
keys_pressed = pygame.key.get_pressed()
# 判斷元組中對應(yīng)的按鍵索引值
if keys_pressed[pygame.K_RIGHT]:
   self.rabbit.speed = 5
elif keys_pressed[pygame.K_LEFT]:
   self.rabbit.speed = -5
else:
   self.rabbit.speed = 0

五、游戲完整源代碼

最后還是要再次預(yù)祝各位中秋節(jié)快樂,代碼就直接全上了,貼圖只能放下載了。

1)lunar_war.py代碼:

from lunar_sprites import *
class PlaneGame(object):
    """兔子接月餅游戲"""
    def __init__(self):
        print("游戲初始化")
        pygame.init()
        # 1.創(chuàng)建游戲的窗口
        self.screen = pygame.display.set_mode(SCREEN_RECT.size)
        # 2.創(chuàng)建游戲的時鐘
        self.clock = pygame.time.Clock()
        # 3.調(diào)用私有方法,完成精靈和精靈組的創(chuàng)建
        self.__create_sprites()
        # 4.設(shè)置定時器事件——每1秒創(chuàng)建一次月餅
        pygame.time.set_timer(CREATE_MOONCAKE_EVENT, 1000)
        # 5.設(shè)置定時器事件——倒計時每1秒觸發(fā)一次
        pygame.time.set_timer(CREATE_I_EVENT, 1000)
        # 6.設(shè)置定時器事件——10秒后結(jié)束游戲
        pygame.time.set_timer(CREATE_OVER_EVENT, 10000)
        # 7.設(shè)置游戲狀態(tài),1代表開始,0代表結(jié)束,-1代表退出
        self.game_state = 1
    def __create_sprites(self):
        """創(chuàng)建背景精靈和精靈組"""
        # 創(chuàng)建背景的精靈組
        bg1 = Background()
        bg2 = Background(True)
        self.back_group = pygame.sprite.Group(bg1, bg2)
        # 創(chuàng)建月餅的精靈組
        self.mooncake_group = pygame.sprite.Group()
        # 創(chuàng)建兔子的精靈和精靈組
        self.rabbit = Rabbit()
        self.rabbit_group = pygame.sprite.Group(self.rabbit)
        # 創(chuàng)建得分精靈和精靈組
        self.score_sprite = Score()
        self.score_group = pygame.sprite.Group(self.score_sprite)
        # 創(chuàng)建倒計時精靈和精靈組
        self.countdown_sprite = Countdown(10)
        self.countdown_group = pygame.sprite.Group(self.countdown_sprite)
        # 創(chuàng)建菜單精靈和精靈組
        self.menu_sprite = Menu()
        self.menu_group = pygame.sprite.Group(self.menu_sprite)
        # 創(chuàng)建鼠標(biāo)精靈和精靈組
        self.mouse_sprite = Mouse()
        self.mouse_group = pygame.sprite.Group(self.mouse_sprite)
    def start_game(self):
        print("游戲正式開始。。。")
        pygame.mixer.init()
        pygame.mixer.music.load("./images/plane_background.mp3")
        pygame.mixer.music.play()
        while True:
            if self.game_state == 1:
                """游戲進(jìn)行中"""
                # 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()
            elif self.game_state == 0:
                """游戲某一輪結(jié)束"""
                # 1.設(shè)置刷新幀率
                self.clock.tick(FRAME_PER_SEC)
                # 2.更新游戲菜單
                self.__event_menu_handler()
                self.__check_menu_collide()
                self.__update_menu()
                # 3.更新顯示
                pygame.display.update()
            elif self.game_state == -1:
                """游戲退出"""
                PlaneGame.__game_over()
    def __event_handler(self):
        for event in pygame.event.get():
            # 判斷是否退出游戲
            if event.type == pygame.QUIT:
                self.game_state = -1
            elif event.type == CREATE_MOONCAKE_EVENT:
                # 創(chuàng)建月餅精靈
                mooncake = Mooncake()
                # 將月餅精靈添加到月餅精靈組
                self.mooncake_group.add(mooncake)
            elif event.type == CREATE_I_EVENT:
                # 倒計時減1秒
                self.countdown_sprite.start_time = self.countdown_sprite.start_time - 1
            elif event.type == CREATE_OVER_EVENT:
                self.menu_sprite.display = True
                self.game_state = 0
        # 使用鍵盤提供的方法獲取鍵盤按鍵 - 按鍵元組
        keys_pressed = pygame.key.get_pressed()
        # 判斷元組中對應(yīng)的按鍵索引值
        if keys_pressed[pygame.K_RIGHT]:
            self.rabbit.speed = 5
        elif keys_pressed[pygame.K_LEFT]:
            self.rabbit.speed = -5
        else:
            self.rabbit.speed = 0
    def __check_collide(self):
        # 1.兔子接到月餅
        mooncakes = pygame.sprite.spritecollide(self.rabbit, self.mooncake_group, True)
        # 2.判斷碰撞列表長度
        if len(mooncakes) > 0:
            # 接到月餅得分加1
            self.score_sprite.score = self.score_sprite.score + 1
    def __update_sprites(self):
        self.back_group.update()
        self.back_group.draw(self.screen)
        self.mooncake_group.update()
        self.mooncake_group.draw(self.screen)
        self.rabbit_group.update()
        self.rabbit_group.draw(self.screen)
        self.score_group.update()
        self.score_group.draw(self.screen)
        self.score_group.update()
        self.score_group.draw(self.screen)
        self.countdown_group.update()
        self.countdown_group.draw(self.screen)
    def __event_menu_handler(self):
        for event in pygame.event.get():
            # 判斷是否退出游戲
            if event.type == pygame.QUIT:
                self.game_state = -1
            elif event.type == pygame.MOUSEBUTTONDOWN:
                if event.button == 1:
                    # 點擊左鍵
                    pos = pygame.mouse.get_pos()
                    self.mouse_sprite.rect.top = pos[1]
                    self.mouse_sprite.rect.left = pos[0]
                    self.menu_sprite.update()
    def __check_menu_collide(self):
        click_list = pygame.sprite.spritecollide(self.menu_sprite, self.mouse_group,False)
        if len(click_list) > 0:
            """鼠標(biāo)擊中菜單,重新開始游戲"""
            # 1.設(shè)置游戲狀態(tài)為進(jìn)行中
            self.game_state = 1
            # 2.重置鼠標(biāo)位置
            self.mouse_sprite.rect.top=0
            self.mouse_sprite.rect.left=0
            # 3.重新總時間,10s秒后結(jié)束
            pygame.time.set_timer(CREATE_OVER_EVENT, 0)
            pygame.time.set_timer(CREATE_OVER_EVENT, 10000)
            # 4.重置分?jǐn)?shù)精靈
            self.score_sprite.score = 0
            # 5.重置倒計時精靈
            self.countdown_sprite.start_time = 10
    def __update_menu(self):
        self.menu_group.update()
        self.menu_group.draw(self.screen)
        self.mouse_group.update()
        self.mouse_group.draw(self.screen)
    @staticmethod
    def __game_over():
        print("游戲結(jié)束")
        pygame.quit()
        exit()
if __name__ == "__main__":
    # 創(chuàng)建游戲?qū)ο?
    game = PlaneGame()
    # 啟動游戲
    game.start_game()

2)lunar_sprites.py代碼:

import random
import pygame
# 屏幕大小的常量
SCREEN_RECT = pygame.Rect(0, 0, 360, 480)
# 刷新的幀率
FRAME_PER_SEC = 80
# 創(chuàng)建月餅的定時器常量
CREATE_MOONCAKE_EVENT = pygame.USEREVENT+1
# 創(chuàng)建游戲倒計時的定時器常量
CREATE_I_EVENT = pygame.USEREVENT+2
# 創(chuàng)建游戲結(jié)束的定時器常量
CREATE_OVER_EVENT = pygame.USEREVENT+3
# 字體顏色
WHITE = (255, 255, 255)
class GameSprite(pygame.sprite.Sprite):
    """
    兔子接月餅游戲精靈
    """
    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)建(image/rect/speed)
        super().__init__("./images/background4.jpg")
        # 2.判斷是否是交替圖像,如果是,需要設(shè)置初始位置
        if is_alt:
            self.rect.y = -self.rect.height
    def update(self):
        # 1.調(diào)用父類的方法實現(xiàn)
        super().update()
        # 2.判斷是否移出屏幕,如果移出屏幕,將圖像設(shè)置到屏幕的上方
        if self.rect.y >= SCREEN_RECT.height:
            self.rect.y = -self.rect.height
class Mooncake(GameSprite):
    """月餅精靈"""
    def __init__(self):
        # 1.調(diào)用父類方法,創(chuàng)建月餅精靈,同時指定月餅圖片
        super().__init__("./images/mooncake2.png")
        # 2.指定月餅的初始隨機速度
        self.speed = random.randint(2, 3)
        # 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 Rabbit(GameSprite):
    """兔子精靈"""
    def __init__(self):
        # 1.調(diào)用父類方法,設(shè)置image&speed
        super().__init__("./images/rabbit2.png", 0)
        # 2.設(shè)置兔子的初始位置
        self.rect.centerx = SCREEN_RECT.centerx
        self.rect.bottom = SCREEN_RECT.bottom - 20
    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
class Score(pygame.sprite.Sprite):
    """
    得分游戲精靈
    """
    def __init__(self):
        # 調(diào)用父類的初始化方法
        super().__init__()
        # 定義對象的屬性
        self.score = 0
        # 得分文字顯示設(shè)置
        self.font_type = pygame.font.match_font('Microsoft YaHei')
        self.font = pygame.font.Font(self.font_type, 20)
        self.image = self.font.render("得分:"+str(self.score), True, WHITE, None)
        self.rect = self.image.get_rect()
    def update(self):
        self.image = self.font.render("得分:"+str(self.score), True, WHITE, None)
        self.rect = self.image.get_rect()
class Countdown(pygame.sprite.Sprite):
    """
    倒計時游戲精靈
    """
    def __init__(self,start_time):
        # 調(diào)用父類的初始化方法
        super().__init__()
        # 定義對象的屬性
        self.start_time = start_time
        # 得分文字顯示設(shè)置
        self.font_type = pygame.font.match_font('Microsoft YaHei')
        self.font = pygame.font.Font(self.font_type, 50)
        self.image = self.font.render(str(self.start_time), True, WHITE, None)
        self.rect = self.image.get_rect()
        self.rect.centerx = SCREEN_RECT.centerx
        self.rect.centery = SCREEN_RECT.centery
    def update(self):
        self.image = self.font.render(str(self.start_time), True, WHITE, None)
        self.rect = self.image.get_rect()
        self.rect.centerx = SCREEN_RECT.centerx
        self.rect.centery = SCREEN_RECT.centery
class Menu(pygame.sprite.Sprite):
    """
    菜單游戲精靈
    """
    def __init__(self):
        # 調(diào)用父類的初始化方法
        super().__init__()
        self.display = False
        # 得分文字顯示設(shè)置
        self.font_type = pygame.font.match_font('Microsoft YaHei')
        self.font = pygame.font.Font(self.font_type, 30)
        self.image = self.font.render("", True, WHITE, None)
        self.rect = self.image.get_rect()
    def update(self):
        if self.display == True:
            # 得分文字顯示設(shè)置
            self.image = self.font.render("重新開始", True, WHITE, None)
            self.rect = self.image.get_rect()
            self.rect.centerx = SCREEN_RECT.centerx
            self.rect.centery = SCREEN_RECT.centery+50
class Mouse(pygame.sprite.Sprite):
    """鼠標(biāo)游戲精靈"""
    def __init__(self):
        # 調(diào)用父類的初始化方法
        super().__init__()
        self.display = False
        # 鼠標(biāo)矩形設(shè)置
        self.image = pygame.Surface((5,5))
        self.rect = self.image.get_rect()
    def update(self):
        super().update()

到此這篇關(guān)于Pygame改編飛機大戰(zhàn)制作兔子接月餅游戲的文章就介紹到這了,更多相關(guān)Pygame兔子接月餅內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 一文帶你搞懂Python上下文管理器

    一文帶你搞懂Python上下文管理器

    這篇文章主要為大家介紹了Python上下文管理器,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12
  • Visual Studio Code搭建django項目的方法步驟

    Visual Studio Code搭建django項目的方法步驟

    這篇文章主要介紹了Visual Studio Code搭建django項目的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • 基于DataFrame篩選數(shù)據(jù)與loc的用法詳解

    基于DataFrame篩選數(shù)據(jù)與loc的用法詳解

    今天小編就為大家分享一篇基于DataFrame篩選數(shù)據(jù)與loc的用法詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • Python讀入mnist二進(jìn)制圖像文件并顯示實例

    Python讀入mnist二進(jìn)制圖像文件并顯示實例

    這篇文章主要介紹了Python讀入mnist二進(jìn)制圖像文件并顯示實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • python中while和for的區(qū)別總結(jié)

    python中while和for的區(qū)別總結(jié)

    在本篇內(nèi)容里小編給大家分享的是關(guān)于python中while和for的區(qū)別以及相關(guān)知識點,需要的朋友們可以學(xué)習(xí)下。
    2019-06-06
  • Python實現(xiàn)繪制圣誕樹和煙花的示例代碼

    Python實現(xiàn)繪制圣誕樹和煙花的示例代碼

    這不是圣誕節(jié)快到了,還不用Python繪制個圣誕樹和煙花讓女朋友開心開心,也算是親手做的,稍稍花了點心思,學(xué)會了趕緊畫給你的那個她吧
    2022-12-12
  • python使用ctypes庫調(diào)用DLL動態(tài)鏈接庫

    python使用ctypes庫調(diào)用DLL動態(tài)鏈接庫

    這篇文章主要介紹了python如何使用ctypes庫調(diào)用DLL動態(tài)鏈接庫,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-10-10
  • Python使用py2exe打包程序介紹

    Python使用py2exe打包程序介紹

    這篇文章主要介紹了Python使用py2exe打包程序介紹,本文講解了py2exe簡介、安裝、用法、指定額外文件等內(nèi)容,需要的朋友可以參考下
    2014-11-11
  • python正則表達(dá)式(re模塊)的使用詳解

    python正則表達(dá)式(re模塊)的使用詳解

    正則表達(dá)式是用來匹配字符串非常強大的工具,在其他編程語言中同樣有正則表達(dá)式的概念,Python同樣不例外,下面這篇文章主要給大家介紹了關(guān)于python正則表達(dá)式(re模塊)使用的相關(guān)資料,需要的朋友可以參考下
    2022-03-03
  • DataFrame.to_excel多次寫入不同Sheet的實例

    DataFrame.to_excel多次寫入不同Sheet的實例

    今天小編就為大家分享一篇DataFrame.to_excel多次寫入不同Sheet的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12

最新評論