diff --git a/main.py b/main.py index 724fc84b006cef4f6f7a992e88f42bbfa72ee8c7..e33a5662dda46702ee0bc384097f5fa64b8d9ac8 100644 --- a/main.py +++ b/main.py @@ -82,8 +82,20 @@ class Food: # 不靠墙太近 25 ~ SCREEN_X-25 之间 for pos in range(25,SCREEN_X-25,25): allpos.append(pos) - self.rect.left = random.choice(allpos) - self.rect.top = random.choice(allpos) + while True: + self.rect.left = random.choice(allpos) + self.rect.top = random.choice(allpos) + + # 检查食物位置是否与蛇身体重合 + overlap = False + for segment in snake.body: + if segment.colliderect(self.rect): + overlap = True + break + + if not overlap: + break + print(self.rect)