Загрузка данных


import pygame as pg
import random
pg.init()

SCR_W=800
SCR_H=600
scr= pg.display.set_mode((SCR_W, SCR_H))
pg.display.set_caption('2024')
BLACK=(0,0,0)
WHITE=(255,255,255)
ORANGE=(255,165,0)
RED=(255,0,0)
donk_img= pg.image.load('donk.jpg')
enemies = [
    pg.image.load("frozen.jfif"),
    pg.image.load("karrigan.jfif"),
    pg.image.load("broky.jfif"),
    pg.image.load("ropz.jfif"),
    pg.image.load("rain.jfif")
]
bullet_img= pg.image.load('bullet.jfif')

donk_w, donk_h = 50,50
faze_w, faze_h = 30,30
bullet_w, bullet_h = 40,40

donk_speed=5
faze_speed=3
bullet_speed=4

target_score=10


class Donk (pg.sprite.Sprite):
    def __init__(self):
        super().__init__()

        self.image = pg.transform.scale(donk_img, (donk_w, donk_h))
        self.rect= self.image.get_rect()
        self.rect.center = (SCR_W//2, SCR_H - donk_h)

        def update(self):
            keys = pg.key.get_pressed()
            if keys[pg.K_LEFT] and self.rect.left > 0:
                self.rect.x -= donk_speed
            if keys[pg.K_RIGHT] and self.rect.right < SCR_W:
                self.rect.x += donk_speed

# run = True
# clock = pg.time.Clock()
# donk = Donk
# while run:
#     for event in pg.event.get():
#         if event.type == pg.QUIT:
#             run = False
#     scr.fill(BLACK)
#     donk.update()
#     scr.blit(donk.image, donk.rect)
#     pg.display.flip()
#
#     clock.tick(60)


class Candy(pg.sprite.Sprite):
    def __init__(self):
        super().__init__()
        wew = random.choice(enemies)
        self.image = pg.transform.scale(wew, (faze_w, faze_h))
        self.rect = self.image.get_rect()
        self.rect.x = random.randint(0, SCR_W - faze_w)
        self.rect.y = random.randint(-100, -faze_h)

    def update(self):
        self.rect.y += faze_speed
        if self.rect.top > SCR_H:
            self.rect.x = random.randint(0, SCR_W - faze_w)
            self.rect.y = random.randint(-100, -faze_h)

class Bullet(pg.sprite.Sprite):
    def __init__(self):
        super().__init__()
        self.image = pg.transform.scale(bullet_img,(bullet_w, bullet_h))
        self.rect= self.image.get_rect()
        self.rect.x= random.randint(0, SCR_W- bullet_w)
        self.rect.y = random.randint(-100, -bullet_h)

    def update(self):
        self.rect.y+=bullet_speed
        if self.rect.top> SCR_H:
            self.rect.x = random.randint(0, SCR_W - bullet_w)
            self.rect.y = random.randint(-100, -bullet_h)


run = True
clock = pg.time.Clock()
donk = Donk()
faze = Candy() # sadsa
faze2 = Candy() # sadsa
faze3= Candy() # sadsa
bullet = Bullet() # sadsa
while run:
    for event in pg.event.get():
        if event.type == pg.QUIT:
            run = False
    scr.fill(BLACK)
    donk.update()
    scr.blit(donk.image, donk.rect)

    faze.update()
    scr.blit(faze.image, faze.rect)
    faze2.update()
    scr.blit(faze2.image, faze2.rect)
    faze3.update()
    scr.blit(faze3.image, faze2.rect)

    bullet.update()
    scr.blit(bullet.image, bullet.rect)
    pg.display.flip()

    clock.tick(60)