Ловим звёзды
Проверяем встречу корабля и звезды, добавляем очко.

Цель урока: Распознать близость объектов по их координатам.
Arcade запускается на компьютере. Первый урок показывает основу игрового файла; далее это фрагменты полной игры. Открой полный код и меняй в нём нужные строки. Кнопка онлайн IDE для этого проекта не используется.
Шаг 1 · Измерь расстояние
Звезда поймана, когда её центр оказался близко к центру корабля по x и y.
ship_x = 450drop_x = 470drop_y = 80caught = abs(drop_x - ship_x) < 39 and abs(drop_y - 75) < 35print(caught)True
Что происходит в коде
- abs() берёт расстояние без знака: 470 − 450 превращается в 20.
- Первая проверка смотрит близость по горизонтали, вторая — по вертикали.
- and требует, чтобы обе проверки были верны.
Шаг 2 · Начисли очко
При встрече со звездой убираем её с экрана и увеличиваем счёт.
if caught: self.drops.remove(drop) if drop["kind"] == "star": self.score += 1Счёт увеличивается на 1; пойманная звезда исчезает.
Что происходит в коде
- Внешний if срабатывает только при столкновении.
- remove убирает предмет, чтобы он не засчитался дважды.
- Внутренний if начисляет очко только за звезду.
Попробуй сам
- Поставь drop_x = 600. Будет ли столкновение?
- Поменяй очки за звезду с 1 на 2.
- Найди в полном файле строку, где выводится счёт.
Меняй одну строчку за раз, сохраняй файл и запускай игру на компьютере снова.
Как это работает в полной игре
После каждого обновления игры проверяется расстояние до падающих предметов. Счёт на экране берётся из self.score.
Скачать проект ArcadeЗаметка для преподавателя
Положите два кружка на координатную сетку. Сначала проверьте расстояние по x, потом по y. Подчеркните, что обе проверки нужны одновременно.