среда, 11 декабря 2013 г.

Python полезности для игры Астероид

Выход за границы области экрана
>>> 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

Комментариев нет:

Отправить комментарий