|
@@ -8,8 +8,29 @@ screen = pygame.display.set_mode((720, 720))
|
|
|
clock = pygame.time.Clock()
|
|
clock = pygame.time.Clock()
|
|
|
running = True
|
|
running = True
|
|
|
dt = 0
|
|
dt = 0
|
|
|
|
|
+raketa = pygame.sprite.Sprite()
|
|
|
|
|
+raketa.original_image = pygame.image.load("raketa.png").convert_alpha()
|
|
|
|
|
+raketa.original_image = pygame.transform.scale(raketa.original_image, (60, 60))
|
|
|
|
|
+raketa.image = raketa.original_image
|
|
|
|
|
+raketa.rect = raketa.image.get_rect(center=(360, 360))
|
|
|
|
|
+angle = 0
|
|
|
|
|
|
|
|
|
|
+wall2 = pygame.sprite.Sprite()
|
|
|
|
|
+wall2.image = pygame.Surface((20, 200))
|
|
|
|
|
+wall2.image.fill("blue")
|
|
|
|
|
+wall2.rect = wall2.image.get_rect(topleft=(100,300))
|
|
|
|
|
|
|
|
|
|
+wall3 = pygame.sprite.Sprite()
|
|
|
|
|
+wall3.image = pygame.Surface((20, 300))
|
|
|
|
|
+wall3.image.fill("green")
|
|
|
|
|
+wall3.rect = wall3.image.get_rect(topleft=(200,500))
|
|
|
|
|
+
|
|
|
|
|
+wall = pygame.sprite.Sprite()
|
|
|
|
|
+wall.image = pygame.Surface((500, 20))
|
|
|
|
|
+wall.image.fill("red")
|
|
|
|
|
+wall.rect = wall.image.get_rect(topleft=(360, 300))
|
|
|
|
|
+
|
|
|
|
|
+everything = pygame.sprite.Group([raketa, wall, wall2, wall3])
|
|
|
player_pos = pygame.Vector2(screen.get_width() / 2, screen.get_height() / 2)
|
|
player_pos = pygame.Vector2(screen.get_width() / 2, screen.get_height() / 2)
|
|
|
velocity = pygame.Vector2(0,0)
|
|
velocity = pygame.Vector2(0,0)
|
|
|
acceleration = 500
|
|
acceleration = 500
|
|
@@ -19,28 +40,36 @@ while running:
|
|
|
for event in pygame.event.get():
|
|
for event in pygame.event.get():
|
|
|
if event.type == pygame.QUIT:
|
|
if event.type == pygame.QUIT:
|
|
|
running = False
|
|
running = False
|
|
|
-
|
|
|
|
|
- raketa = pygame.image.load("raketa.png").convert_alpha()
|
|
|
|
|
|
|
+ raketa.rect.center = player_pos
|
|
|
|
|
+
|
|
|
# fill the screen with a color to wipe away anything from last frame
|
|
# fill the screen with a color to wipe away anything from last frame
|
|
|
screen.fill("purple")
|
|
screen.fill("purple")
|
|
|
|
|
+ raketa.image = pygame.transform.rotate(raketa.original_image, angle)
|
|
|
|
|
+ raketa.rect = raketa.image.get_rect(center=raketa.rect.center)
|
|
|
|
|
+ everything.draw(screen)
|
|
|
|
|
|
|
|
- screen.blit(raketa, player_pos)
|
|
|
|
|
|
|
|
|
|
keys = pygame.key.get_pressed()
|
|
keys = pygame.key.get_pressed()
|
|
|
if keys[pygame.K_w]:
|
|
if keys[pygame.K_w]:
|
|
|
velocity.y -= acceleration * dt
|
|
velocity.y -= acceleration * dt
|
|
|
- pygame.transform.rotate(raketa, 90)
|
|
|
|
|
|
|
+ angle = 0
|
|
|
if keys[pygame.K_s]:
|
|
if keys[pygame.K_s]:
|
|
|
velocity.y += acceleration * dt
|
|
velocity.y += acceleration * dt
|
|
|
- pygame.transform.rotate(raketa, 180)
|
|
|
|
|
|
|
+ angle = 180
|
|
|
if keys[pygame.K_a]:
|
|
if keys[pygame.K_a]:
|
|
|
velocity.x -= acceleration * dt
|
|
velocity.x -= acceleration * dt
|
|
|
- pygame.transform.rotate(raketa, 360)
|
|
|
|
|
|
|
+ angle = 90
|
|
|
if keys[pygame.K_d]:
|
|
if keys[pygame.K_d]:
|
|
|
velocity.x += acceleration * dt
|
|
velocity.x += acceleration * dt
|
|
|
- pygame.transform.rotate(raketa, 270)
|
|
|
|
|
|
|
+ angle = 270
|
|
|
player_pos += velocity * dt
|
|
player_pos += velocity * dt
|
|
|
|
|
|
|
|
|
|
+ if pygame.sprite.collide_rect(raketa, wall):
|
|
|
|
|
+ print("bonk")
|
|
|
|
|
+ if pygame.sprite.collide_rect(raketa, wall2):
|
|
|
|
|
+ print("bonk")
|
|
|
|
|
+ if pygame.sprite.collide_rect(raketa, wall3):
|
|
|
|
|
+ print("bonk")
|
|
|
# flip() the display to put your work on screen
|
|
# flip() the display to put your work on screen
|
|
|
pygame.display.flip()
|
|
pygame.display.flip()
|
|
|
|
|
|