-
Notifications
You must be signed in to change notification settings - Fork 9
/
invaders_game.py
56 lines (42 loc) · 1.28 KB
/
invaders_game.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# SPACE INVADERS
import pygame, sys, random
pygame.init()
width = 50
height = 30
x = 250
y = 250
enemy_start_pos = 500
blue = (0, 0, 255)
red = (255, 0, 0)
run = True
vel = 1
i = 0 # an index of random numbers
random_numbers = [random.randint(1, 500) for number in range(500)]
win = pygame.display.set_mode((500, 500))
pygame.display.set_caption("Space Invaders Simplified")
while run:
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
keys = pygame.key.get_pressed()
if keys[pygame.K_LEFT] and x > 0:
x -= vel
if keys[pygame.K_RIGHT] and x < 500 - width:
x += vel
if keys[pygame.K_DOWN] and y < 500 - height:
y += vel
if keys[pygame.K_UP] and y > 0:
y -= vel
player = pygame.draw.rect(win, red, (x, y, width, height))
enemy = pygame.draw.rect(win, blue, (enemy_start_pos, random_numbers[i], width, height))
enemy_start_pos -= 0.5
pygame.display.update()
win.fill((0, 0, 0))
if enemy_start_pos == 50:
i += 1
enemy_start_pos = 500
hitbox_x_enemy = [b + enemy_start_pos for b in range(width + 1)]
hitbox_y_enemy = [b + random_numbers[i] for b in range(height + 1)]
if x in hitbox_x_enemy and y in hitbox_y_enemy:
run = False
pygame.quit()