Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как при помощи формулы расстояния двух точек сделать завершение игры при соприкосновении спрайтов

- Ученик (210), на голосовании 1 неделю назад
Подскажите пожалуйста как при помощи формулы расстояния двух точек сделать завершение игры при соприкосновении спрайтов. Буду очень благодарен!
Голосование за лучший ответ
Анонимус Мудрец (14215) 1 месяц назад
 import pygame 

# Инициализация Pygame
pygame.init()

# Настройки экрана
screen_width = 800
screen_height = 600
screen = pygame.display.set_mode((screen_width, screen_height))
pygame.display.set_caption("Игра соприкосновения спрайтов")

# Цвета
black = (0, 0, 0)
white = (255, 255, 255)

# Спрайты
player_img = pygame.image.load("player.png").convert_alpha()
enemy_img = pygame.image.load("enemy.png").convert_alpha()

# Позиция спрайтов
player_x = 100
player_y = 100
enemy_x = 500
enemy_y = 300

# Флаг игры
game_over = False

# Цикл игры
while not game_over:
# Обработка событий
for event in pygame.event.get():
if event.type == pygame.QUIT:
game_over = True

# Расчет расстояния между спрайтами
distance = ((player_x - enemy_x) ** 2 + (player_y - enemy_y) ** 2) ** 0.5

# Проверка соприкосновения
if distance <= player_img.get_width() / 2 + enemy_img.get_width() / 2:
print("Спрайты соприкоснулись!")
game_over = True

# Отрисовка
screen.fill(black)
screen.blit(player_img, (player_x, player_y))
screen.blit(enemy_img, (enemy_x, enemy_y))

# Обновление экрана
pygame.display.flip()

# Завершение игры
pygame.quit()
Похожие вопросы