From 9b049d370400460c98330ddf133d2d40192f64ac Mon Sep 17 00:00:00 2001 From: "Hannes F. Kuchelmeister" Date: Fri, 5 Nov 2021 23:12:52 +0100 Subject: [PATCH] add bicycle to game over screen Co-authored-by: Laura Januleviciute --- Bicycle.py | 32 ++++++++++++++++++++++++++++++++ main.py | 4 ++++ sprites/bicycle.png | Bin 0 -> 8014 bytes 3 files changed, 36 insertions(+) create mode 100644 Bicycle.py create mode 100644 sprites/bicycle.png diff --git a/Bicycle.py b/Bicycle.py new file mode 100644 index 0000000..ea11113 --- /dev/null +++ b/Bicycle.py @@ -0,0 +1,32 @@ +import pygame +import random +from Bubble import Bubble + +class Bicycle: + def __init__(self, posX, posY, directionX=random.uniform(1, 3)): + self.posX = posX + self.posY = posY + self.directionX = directionX + self.width = 73 + self.height = 40 + self.image = pygame.image.load("sprites/bicycle.png") + + if directionX < 0: + self.image = pygame.transform.flip(self.image, True, False) + + def draw(self, screen): + screen.blit(self.image, (self.posX, self.posY)) + + + def update(self, screen): + self.posX += self.directionX + screen_width, screen_height = screen.get_size() + if self.directionX > 0: + if self.posX + self.width + self.directionX > screen_width: + self.directionX = -random.uniform(1, 3) + self.image = pygame.transform.flip(self.image, True, False) + else: + if self.posX + self.directionX < 0: + self.directionX = random.uniform(1, 3) + self.image = pygame.transform.flip(self.image, True, False) + diff --git a/main.py b/main.py index 537bf3c..e96b2d0 100644 --- a/main.py +++ b/main.py @@ -6,6 +6,7 @@ from pygame.locals import * from Car import Car from Vacuum import Vacuum from Lane import Lane +from Bicycle import Bicycle pygame.init() pygame.font.init() @@ -48,6 +49,7 @@ for i in range(3, 6): game_objects.append(Car(random.uniform(0, SCREEN_WIDTH), i * 80 + 60, bubble_objects, directionX= - random.uniform(1, 5))) vacuum = Vacuum(bubble_objects) +bicycle = Bicycle(0, SCREEN_HEIGHT - 40) while True: SCREEN.fill(BACKGROUND) @@ -69,6 +71,8 @@ while True: SCREEN.blit(TEXT_SCREEN, TEXT_RECT) SCREEN.blit(SUBTITLE_TEXT_SCREEN, SUBTITLE_TEXT_RECT) SCREEN.blit(SUBTITLE_TEXT_SCREEN2, SUBTITLE_TEXT_RECT2) + bicycle.update(SCREEN) + bicycle.draw(SCREEN) diff --git a/sprites/bicycle.png b/sprites/bicycle.png new file mode 100644 index 0000000000000000000000000000000000000000..c0d910189c52d78fd87c664568976856ad3fda54 GIT binary patch literal 8014 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 QMgRZ+07*qoM6N<$f?w%0x&QzG literal 0 HcmV?d00001