Без названия

2025-03-09 16:12 | Публичная
from pygame import *


class GameSprite(sprite.Sprite):
   def __init__(self, player_image, player_x, player_y, player_speed=0):
       super().__init__()
       self.image = transform.scale(image.load(player_image), (65, 65))
       self.speed = player_speed
       self.rect = self.image.get_rect()
       self.rect.x = player_x
       self.rect.y = player_y


   def reset(self):
       window.blit(self.image, (self.rect.x, self.rect.y))

class Player(GameSprite):

    def update(self):
        keys_pressed = key.get_pressed()

        if keys_pressed[K_LEFT] and self.rect.x > 0:
            self.rect.x -= self.speed
        if keys_pressed[K_RIGHT] and self.rect.x < 635:
            self.rect.x += self.speed
        if keys_pressed[K_UP] and self.rect.y > 0:
            self.rect.y -= self.speed
        if keys_pressed[K_DOWN] and self.rect.y < 440:
            self.rect.y += self.speed

class Wall(sprite.Sprite):
    def __init__(self, color_1, color_2, color_3, x, y, width, height ):
        super().__init__()
        self.color_1 = color_1
        self.color_2 = color_2
        self.color_3 = color_3
        self.width = width
        self.height = height
        self.image = Surface((width, height))
        self.image.fill((color_1, color_2, color_3))
		 
        self.rect = self.image.get_rect()
        self.rect.x = x
        self.rect.y = y
    def draw_wall(self):
        window.blit(self.image, (self.rect.x, self.rect.y))

window = display.set_mode((700,500))
display.set_caption("Догонялки")
background = transform.scale(image.load('background.jpg'), (700, 500))


hero = Player('hero.png', 20, 430, 5)
cyborg = GameSprite('cyborg.png', 500, 300, 5)
treasure = GameSprite('treasure.png', 500, 435)

wall1 = Wall(255,0,0, 100, 100, 100, 10)

#игровой цикл
run = True
clock = time.Clock()
FPS = 60
while run:
    window.blit(background, (0,0))
    hero.reset()
    cyborg.reset()
    treasure.reset()
    hero.update()
    wall1.draw_wall()

    for e in event.get():
       if e.type == QUIT:
           run = False

    display.update()
    clock.tick(FPS)
Вернуться ко Всем Вставкам
Открыть чат
Чат с Send-Code AI Закрыть чат