/
vasandi
/
Codingplus
Обзор
Документация
Войти
/
vasandi
/
Codingplus
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
Swatter/main.py
76 строк
2 KB
Андрей Васильченко
add pygame examples
02 окт 2024, 13:22
02 окт 2024, 13:22
dc94fdd
Код
Авторство
О чём код?
from load_sprite import * import pygame as pg import random pg.init() fps = 60 win_w = 800 win_h = 600 window = pg.display.set_mode((win_w, win_h)) pg.display.set_caption("Swatter") clock = pg.time.Clock() back = load_sprite_jpg("res/фон.jpg", True, win_w, win_h) back_rect = set_topleft_sprite(back, 0, 0) fly_crushed = load_sprite_png("res/муха2.png", True, 80, 80) fly_crushed_rect = set_center_sprite(fly_crushed, win_w // 2, win_h // 2) fly = load_sprite_png("res/муха.png", True, 80, 80) fly_rect = set_center_sprite(fly, win_w // 2, win_h // 2) swatter = load_sprite_png("res/мухобойка.png", True, 220, 220) swatter_rect = set_center_sprite(swatter, 0, 0) crushed = False animation_timer = 0 cnt_crushed = 0 font_crushed = pg.font.Font(None, 36) running = True while running: for event in pg.event.get(): if event.type == pg.QUIT: running = False mouse_pressed = pg.mouse.get_pressed() mouse_x, mouse_y = pg.mouse.get_pos() window.blit(back, back_rect) if fly_rect.colliderect(swatter_rect): fly_crushed_rect = fly_rect window.blit(fly_crushed, fly_crushed_rect) crushed = True else: window.blit(fly, fly_rect) animation_timer = 0 if crushed: td = clock.tick(fps) / 1000.0 animation_timer += td if animation_timer > 0.1: crushed = False cnt_crushed += 1 fly_rect.centerx = random.randint(100, win_w - 100) fly_rect.centery = random.randint(100, win_h - 100) animation_timer = 0 swatter_rect.centerx = 0 swatter_rect.centery = 0 if mouse_pressed[0]: swatter_rect.centerx = mouse_x swatter_rect.centery = mouse_y window.blit(swatter, (swatter_rect.centerx - 120, swatter_rect.centery - 60)) text = font_crushed.render(f"Поражено противника: {cnt_crushed}", True, (255, 0, 0)) window.blit(text, (10, 10)) pg.display.flip() clock.tick(fps) pg.quit()