在pygame中使用遞歸

我對python和編程都是新手,我正在為一個以python為中心的類做最后一個項目。我似乎不知道如何工作的一個要求是將遞歸集成到我們的代碼中,以展示工作知識。我用pygame設計了一個簡單的“子彈地獄”式游戲。

我的目標是,當子彈與敵人接觸時,一系列的子彈將作為一種short-term修改器從玩家位置發射。

每當子彈擊中敵人時,此代碼在主循環中運行:

     for i in reversed(range(len(bullets))):
            for j in reversed(range(len(enemies))):
                if bullets[i].collided(enemies[j].rect):
                    del enemies[j]
                    del bullets[I]

                    s.global_score += 100
                    more_bullets(10)

                    #print("Hit!")
                    #print(s.global_score)
                    break

"more_bullets”函數是我遞歸的焦點,它調用:

def more_bullets(n):
    if(n > 0):

        spawnx = sq.rect.x+10 + sq.rect.width/2 - 10
        b = Square(s.red, spawnx,sq.rect.y, 10,30)
        b.direction = 'N'
        b.player_speed = 10
        bullets.append(b)

        spawnx = sq.rect.x-10 + sq.rect.width/2 - 10
        b = Square(s.red, spawnx,sq.rect.y, 10,30)
        b.direction = 'N'
        b.player_speed = 10
        bullets.append(b)

        pygame.display.update()

        more_bullets(n-1)

        print(f"Fired x {n}")

目前的結果是,我的debug打印了10次,使我認為遞歸功能正常,但是當沖突發生時,只有一組項目符號觸發。我認為所有10發子彈的發射速度都超過了我的記錄,只是在屏幕上疊加而已。

有沒有一個easy-to-use函數可以減慢子彈的發射速度?或者在這里搞亂了一些更根本的東西?

? 最佳回答:

我認為所有10發子彈的發射速度都超過了我的記錄,只是在屏幕上疊加而已。

You're correct.

我不相信有一種“簡單的方法”可以按照你的想法去做你所要求的事情。遞歸是即時的,這意味著函數在被調用時會立即運行10次。為了讓它發出一連串交錯的子彈,你需要一些計時器、隊列或者沿著主循環運行的那些線的東西,而遞歸并不是一種自然的適合。這同樣適用于在一段時間內運行的任何類型的游戲邏輯功能。

這不是要問的問題,但這里有一個想法,你可以做什么,即使這是一種重復使用的遞歸:添加一個參數到該函數,指示子彈被射出的角度。然后,在每次遞歸調用時向該參數添加一點。這樣,一個弧形的子彈將同時射出。

主站蜘蛛池模板: 精品国产乱码一区二区三区| 国语对白一区二区三区| 国产精品高清视亚洲一区二区| 国模精品一区二区三区视频| 精品视频一区二区三区免费| 亚洲国产精品一区二区第四页 | 久久免费精品一区二区| 日韩免费视频一区| 精品欧洲av无码一区二区14| 亚洲一区AV无码少妇电影☆| 久久一区二区免费播放| 精品视频一区在线观看| 日韩一区二区三区电影在线观看| 国产日韩一区二区三区| 在线视频一区二区| 国产高清在线精品一区| 99精品国产高清一区二区| 无码人妻精品一区二区三区66| 狠狠色成人一区二区三区| 波多野结衣AV无码久久一区| 国产乱码精品一区二区三 | 一区在线观看视频| 风流老熟女一区二区三区| 国产精品一区二区久久乐下载| 精品国产亚洲第一区二区三区| 国产精品免费视频一区| 国产一区二区影院| 国产精久久一区二区三区| 国产免费播放一区二区| 国产一区二区精品| 精品一区二区三区无码免费视频| 人妻无码第一区二区三区 | 91一区二区三区| 综合久久久久久中文字幕亚洲国产国产综合一区首 | 国产精品揄拍一区二区| 国产欧美一区二区精品仙草咪| 精品一区二区ww| 美女AV一区二区三区| 国内精品无码一区二区三区 | 国产麻豆媒一区一区二区三区| 国模极品一区二区三区|