Вот что я бы сделал:
Сначала определите класс с переменными x, y и размером:
class GreenBall: # Your class
def __init__(self, x, y, size): # The function that creates a ball at a given x and y position
self.x = x
self.y = y
self.size = size
def grow(): # Every time this function is called, your ball will grow
self.size += 1
def render():
pygame.draw.circle(gameSurface, (0,255,0), (self.x,self.y), size)
Каждый раз, когда вы хотите создать новый GreenBall, вы может вызвать функцию, подобную этой:
ballList = []
def newBall(x, y): # Initialize a new greenBall at x and y
global ballList
ballList.append( GreenBall( x, y, 1 ) )
Теперь, чтобы рисовать круги каждый тик, мы должны сказать им, чтобы они отображались сами.
for i in ballList:
i.render()
Надеюсь, эти куски кода помогут !
Редактировать: Поразмыслив немного, я придумал эту программу:
import pygame
import random
import math
import sys
pygame.init()
clock = pygame.time.Clock()
gameSize = (1200,800)
gameSurface = pygame.display.set_mode(gameSize)
pygame.display.set_caption('Green Balls!')
class GreenBall: # Your class
def __init__(self, x, y, size): # The function that creates a ball at a given x and y position
self.x = x
self.y = y
self.size = size
def grow(self): # Every time this function is called, your ball will grow
self.size += 1
def render(self):
pygame.draw.circle(gameSurface, (0,255,0), (self.x,self.y), (self.size))
ballList = []
def newBall(x, y): # Initialize a new greenBall at x and y
global ballList
ballList.append( GreenBall( x, y, 1 ))
timer = 0
spawnBallTime = 30
while True: #game loop
gameSurface.fill((0,0,0))
for i in ballList:
i.grow()
i.render()
if timer == spawnBallTime:
newBallX = random.randint(100, gameSize[0]-100)
newBallY = random.randint(100, gameSize[1]-100)
newBall(newBallX, newBallY)
spawnBallTime -= 1
timer = 0
timer += 1
clock.tick(20)
pygame.display.update()
event = pygame.event.get()
for e in event:
if e.type == pygame.QUIT:
pygame.display.quit()
sys.exit()
Я не хочу портить вам веселье написания забавной игры, но вот базовая c установка, которую я создал. Не стесняйтесь задавать мне вопросы о том, что это значит: D