Выход за границы области экрана
>>> self.pos[0] = (self.pos[0] + self.vel[0]) % WIDTH
>>> self.pos[1] = (self.pos[1] + self.vel[1]) % HEIGHT
pos — координаты центра движущейся фигуры
Увеличение скорости астероидов в зависимости от счета score
# increase rock's velocity using score
for rock in rock_group:
for i in range(2):
rock.vel[i] = rock.init_vel[i] + (rock.init_vel[i] * score * 0.03)
или
rock_vel[i] = rock_vel[i] * (1 + score / 3)
Столкновение спрайтов (p q — координаты центров сталкивающихся спрайтов, dist — расчет дистанции между спрайтами)
def dist(p, q):
return math.sqrt((p[0] — q[0]) ** 2 + (p[1] — q[1]) ** 2)
def collide(self, other_object):
return dist(self.pos, other_object.pos) <= self.radius + other_object.radius
Автор: Viktor