Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import random
- import pygame
- pygame.init() # Включаем модуль pygame
- def draw_text(screen, text, size, x, y, color):
- font_name = pygame.font.match_font('arial') # Выбираем тип шрифта для текста
- font = pygame.font.Font(font_name, size) # Шрифт выбранного типа и размера
- text_image = font.render(text, True, color) # Превращаем текст в картинку
- text_rect = text_image.get_rect() # Задаем рамку картинки с текстом
- text_rect.center = (x,y) # Переносим текст в координаты
- screen.blit(text_image, text_rect) # Рисуем текст на экране
- width = 1200
- height = 700
- fps = 30
- name = "Arkanoid"
- speedx = 10 # Скорость по горизонтали
- speedy = 10 # Скорость по вертикали
- aquamarine = "#7FFFD4" # Цвет
- gold = "#FFD700"
- red = "#FF0000"
- blue = '#00008B'
- ball = pygame.image.load("smile.png") # Загружаем картинку в спрайт
- ball_rect = ball.get_rect() # Получаем рамку спрайта
- lives = 3
- racket = pygame.image.load("racket.png") # Загружаем картинку в спрайт
- racket_rect = racket.get_rect() # Получаем рамку спрайта
- racket_rect.x = width / 2
- racket_rect.y = height - 50
- screen = pygame.display.set_mode((width, height)) # Параметры экрана
- pygame.display.set_caption(name) # Заголовок экрана
- clock = pygame.time.Clock() # Таймер для игры
- run = True
- while run:
- clock.tick(fps) # Тикаем таймером
- for i in pygame.event.get(): # Перебираем все события в игре
- if i.type == pygame.QUIT: # Проверяем на событие выхода
- run = False # Завершаем игровой цикл
- ball_rect.x += speedx # Изменяем координату х рамки спрайта
- ball_rect.y += speedy # Изменяем координату х рамки спрайта
- key = pygame.key.get_pressed() # Считываем нажатия клавиш на клавиатуре
- if key[pygame.K_LEFT]: # Если нажата клавиша стрелка влево
- racket_rect.x -= 10
- if key[pygame.K_RIGHT]: # Если нажата клавиша стрелка вправо
- racket_rect.x += 10
- if ball_rect.colliderect(racket_rect): # Если рамка смайлика столкнулась с рамкой ракетки
- speedy = -speedy
- if ball_rect.top > height: # Проверка на достижение нижней границы экрана
- lives -= 1
- ball_rect.y = 1
- ball_rect.x = random.randint(1, width-100)
- if ball_rect.right > width: # Проверка на достижение правой границы экрана
- speedx = -speedx
- if ball_rect.top < 0: # Проверка на достижение верхней границы экрана
- speedy = -speedy
- if ball_rect.left < 0: # Проверка на достижение левой границы экрана
- speedx = -speedx
- screen.fill(aquamarine) # Задний фон
- draw_text(screen, str(lives), 50, 50, 50, blue)
- screen.blit(racket, racket_rect) # Рисуем ракетку
- screen.blit(ball, ball_rect) # Рисуем спрайт с рамкой
- pygame.display.update() # Обновляем экран
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement