main
rbelomoins 2025-09-29 11:16:20 +03:00
commit 13b5f43560
4 changed files with 121 additions and 0 deletions

21
enemy.py 100644
View File

@ -0,0 +1,21 @@
from settings import SCREEN_HEIGHT, SCREEN_WIDTH
import random
import pygame
class Enemy(pygame.sprite.Sprite):
def __init__(self):
super(Enemy, self).__init__()
self.surf = pygame.Surface((20, 10))
self.surf.fill((255, 0, 0))
self.rect = self.surf.get_rect(
center=(
random.randint(SCREEN_WIDTH + 20, SCREEN_WIDTH + 100),
random.randint(0, SCREEN_HEIGHT),
)
)
self.speed = random.randint(1, 5)
def update(self):
self.rect.move_ip(-self.speed, 0)
if self.rect.right < 0:
self.kill()

60
main.py 100644
View File

@ -0,0 +1,60 @@
import pygame
from player import Player
from enemy import Enemy
from settings import SCREEN_HEIGHT, SCREEN_WIDTH
from pygame.locals import (
K_UP,
K_DOWN,
K_LEFT,
K_RIGHT,
K_ESCAPE,
KEYDOWN,
QUIT,
)
pygame.init()
screen = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT))
running = True
player = Player()
enemy = Enemy()
enemies = pygame.sprite.Group()
all_sprites = pygame.sprite.Group()
all_sprites.add(player)
all_sprites.add(enemy)
enemies.add(enemy)
while running:
for event in pygame.event.get():
if event.type == KEYDOWN:
if event.key == K_ESCAPE:
running = False
elif event.type == QUIT:
running = False
screen.fill((255, 255, 255))
pressed_keys = pygame.key.get_pressed()
player.update(pressed_keys)
enemy.update()
for entity in all_sprites:
screen.blit(entity.surf, entity.rect)
# Flip the display
pygame.display.flip()
pygame.quit()

38
player.py 100644
View File

@ -0,0 +1,38 @@
import pygame
from settings import SCREEN_HEIGHT, SCREEN_WIDTH
from pygame.locals import (
K_UP,
K_DOWN,
K_LEFT,
K_RIGHT,
K_ESCAPE,
KEYDOWN,
QUIT,
)
class Player(pygame.sprite.Sprite):
def __init__(self):
super().__init__()
self.surf = pygame.Surface((40, 40))
self.surf.fill((0, 250, 0))
self.rect = self.surf.get_rect()
def update(self, pressed_keys):
if pressed_keys[K_UP]:
self.rect.move_ip(0, -2)
if pressed_keys[K_DOWN]:
self.rect.move_ip(0, 2)
if pressed_keys[K_LEFT]:
self.rect.move_ip(-2, 0)
if pressed_keys[K_RIGHT]:
self.rect.move_ip(2, 0)
if self.rect.left < 0:
self.rect.left = 0
if self.rect.right > SCREEN_WIDTH:
self.rect.right = SCREEN_WIDTH
if self.rect.top <= 0:
self.rect.top = 0
if self.rect.bottom >= SCREEN_HEIGHT:
self.rect.bottom = SCREEN_HEIGHT

2
settings.py 100644
View File

@ -0,0 +1,2 @@
SCREEN_WIDTH = 800
SCREEN_HEIGHT = 600