如何在pygame中添加随机落球数?

How to add random number of falling balls in pygame?

这里有一些随机落球的代码,我可以生成一个落球。很难随机化掉落球的数量,它们也需要一些随机延迟从“天空”掉落。你能告诉我怎么做吗?

import pygame
import random

pygame.init()
width, height = 640, 480
screen = pygame.display.set_mode((width, height))
 
robot = pygame.image.load("robot.png")
 
y1 = 0
y2 = 0
speed1 = 1
speed2 = 2
 
clock = pygame.time.Clock()

while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            exit()

    screen.fill((0, 0, 0))
    robots = []
    screen.blit(robot, (100, y1))

    y1 += speed1

    if y1 >= 640:
        y1 = 0

    pygame.display.flip()

    clock.tick(60)

也许这是解决您问题的最佳方法。我做了一个位置为 (x, y) 的列表,然后我在 for 循环中使用了这个值。

这是代码示例:

balls_num = 100
robots = [[random.randint(0, width), random.randint(-600, 0)] for _ in range(balls_num)]
while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            exit()

    screen.fill((0, 0, 0))
    for pos in robots:
        screen.blit(robot, (pos[0], pos[1]))
        pos[1] += speed1

        if pos[1] >= 640:
            pos[1] = -100

希望对你有所帮助,亚当