簡體   English   中英

Python-我無法弄清的蛇游戲錯誤

[英]Python - A bug with my snake game that I can't figure out

注意-此游戲是使用pygame制作的

我做了這個蛇游戲,除了一件事之外,其他所有東西都運轉良好。 有時,當蛇吃掉蘋果時,蘋果不會重生。 我認為蘋果在蛇內產卵時可能會發生這種情況,但我編寫了一些代碼來檢查蘋果是否會在蛇中產卵,如果是,請選擇其他位置。 也許我做錯了嗎?

該錯誤位於您的food.py源代碼文件中的get_food_position()函數中。 具體來說,以下幾行會引起您的錯誤:

self.apple_pos = (random.randint(self.WIDTH-self.WIDTH, self.WIDTH), random.randint(self.HEIGHT-self.HEIGHT, self.HEIGHT))

當您觀察到蘋果沒有重新產生時,這是因為您將元組self.apple_pos設置為在可見區域之外。 您必須記住,蘋果有高度和寬度,因此無法在可見區域的最極端繪制它。 您可以通過強制設置self.apple_pos = (1280,720) ,然后再次將其設置為(1260,700)來向自己證明這一點。

對您的代碼進行以下更正可以解決此問題:

self.apple_pos = (random.randint(0, self.WIDTH-20), random.randint(0, self.HEIGHT-20))

我選擇了魔術數字20,因為您的蘋果似乎有20x20像素的面積。

您會注意到,在(0,0)處繪制蘋果不會出現此問題,因為蘋果是通過其自己的(0,0)坐標(即其左上角)放置的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM