initial
commit
13b5f43560
|
|
@ -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()
|
||||||
|
|
@ -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()
|
||||||
|
|
@ -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
|
||||||
|
|
@ -0,0 +1,2 @@
|
||||||
|
SCREEN_WIDTH = 800
|
||||||
|
SCREEN_HEIGHT = 600
|
||||||
Loading…
Reference in New Issue