Я пытаюсь научить себя компьютерному программированию, используя книгу «Как думать, как компьютерный программист: выучить Python 3. Один из вопросов упражнения заставляет меня изменить бесплатную игру Python от Pyens» под названием «Aliens», см. Полный код с bithub. здесь .
Цель состоит в том, чтобы инопланетные корабли сталкивались друг с другом.
Я на самом деле не уверен, какой бит кода включить, вот изменение, которое я сделал для копии существующего кода:
for alien in pygame.sprite.groupcollide(aliens, aliens, 1, 1).keys():
может быть, очевидно, что инопланетный спрайт находится в состоянии постоянного столкновения с самим собой. Таким образом, приведенный выше код приводит к множеству взрывов по краям экрана, поскольку инопланетянин мгновенно сталкивается с самим собой (по крайней мере, это то, что, как я думаю, происходит)
Маршрут до, который я прошел и встретил с ограниченным успехом, состоял в том, чтобы попытаться использовать направление движения спритов, чтобы различать два разных инопланетных сприта (движение вправо положительно, а слева отрицательно).
Я некоторое время работал в кругах и чувствовал, что, должно быть, упускаю что-то очевидное.
Есть указатели?