"""Урок 4 pygame"""
import pygame
 
 
# константы, классы, функции
FPS = 60
RESOLUTION = (640, 480)
GREY = (220, 220, 220)
RED = (255, 0, 0)
WHITE = (255, 255, 255)
 
 
# инициализация, создание обьектов и другое
pygame.init()
screen = pygame.display.set_mode(RESOLUTION)
pygame.display.set_caption("Урок 4")
clock = pygame.time.Clock()
# начальный статус снаряда
shot = "not fly" 
# начальный радиус взрыва
r = 12
 
 
# главный цикл
while True:
 
    # стираем экран
    screen.fill(WHITE)
 
    # цикл обработки событий
    for i in pygame.event.get():
        # выход из программы
        if i.type == pygame.QUIT:
            exit()
        # нажатие клавиш мыши
        if i.type == pygame.MOUSEBUTTONDOWN:
            # если нажата ЛКМ и снаряд не летит
            if i.button == 1 and shot == "not fly":
                # выставляем стартовые значения снаряда
                position = pygame.mouse.get_pos()
                y = 480
                shot = "fly"
    # если снаряд выпущен (летит)
    if shot == "fly":
        # рисуем снаряд и смещаем координату 
        pygame.draw.circle(screen, GREY, (position[0], y), 10)
        y = y - 3
        # если долетел до точки назначения то взрыв
        if position[1] >= y:
            shot = "blast"
 
    # если происходит взрыв снаряда
    if shot == "blast":
        # рисуем взрыв
        pygame.draw.circle(screen, RED, (position[0], y), r)
        # увеличиваем радиус 
        r = r + 2
        # когда взрыв окончен
        if r == 30:
            # выставляем параметры взрыва обратно
            shot = "not fly"
            r = 12
    # обновляем экран
    pygame.display.update()
 
    # задержка
    clock.tick(FPS)

Ограниченный HTML

  • Допустимые HTML-теги: <p> <br> <em> <strong> <ul> <ol> <li> <pre> <code>
  • Для синтаксической подсветки исходного кода следует использовать теги: <pre>, <code>, <bash>, <c>, <java>, <pycon>, <python>.
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.