add drawing of lanes

Co-authored-by: Laura Januleviciute <januleviciute.laura@gmail.com>
This commit is contained in:
2021-11-05 21:53:19 +01:00
parent 1df50a33a5
commit 5ca6297acb
2 changed files with 38 additions and 10 deletions

18
Lane.py Normal file
View File

@@ -0,0 +1,18 @@
import pygame
class Lane:
def __init__(self, posY, width, height, add_markings=True):
self.posX = 0
self.posY = posY
self.width = width
self.height = height
self.add_markings = add_markings
def draw(self, screen):
pygame.draw.rect(screen, (0, 0, 0), pygame.Rect(self.posX, self.posY, self.width, self.height))
if self.add_markings:
for i in range(6):
pygame.draw.rect(screen, (70, 70, 70), pygame.Rect(self.posX + i * 150, self.posY + self.height-5, 70, 5))
def update(self, screen):
pass

30
main.py
View File

@@ -5,6 +5,7 @@ from pygame.locals import *
from Car import Car
from Vacuum import Vacuum
from Lane import Lane
pygame.init()
pygame.font.init()
@@ -20,16 +21,25 @@ TEXT_RECT = TEXT_SCREEN.get_rect(center=(SCREEN_WIDTH/2, SCREEN_HEIGHT/2))
BUBBLE_LIMIT = 100
SCREEN = pygame.display.set_mode((SCREEN_WIDTH,SCREEN_HEIGHT))
BACKGROUND = (0,0,0)
BACKGROUND = (70,70,70)
SCREEN.fill(BACKGROUND)
CLOCK = pygame.time.Clock()
game_objects = []
bubble_objects = []
for i in range(4):
game_objects.append(Car(random.uniform(0, SCREEN_WIDTH), i * 80 + 10, bubble_objects, directionX=random.uniform(1, 5)))
for i in range(4, 7):
game_objects.append(Car(random.uniform(0, SCREEN_WIDTH), i * 80 + 10, bubble_objects, directionX= - random.uniform(1, 5)))
for i in range(3):
markings = True
if i == 2:
markings = False
game_objects.append(Lane(i * 80 + 50, SCREEN_WIDTH, 80, add_markings=markings))
game_objects.append(Car(random.uniform(0, SCREEN_WIDTH), i * 80 + 50, bubble_objects, directionX=random.uniform(1, 5)))
for i in range(3, 6):
markings = True
if i == 5:
markings = False
game_objects.append(Lane(i * 80 + 60, SCREEN_WIDTH, 80, add_markings=markings))
game_objects.append(Car(random.uniform(0, SCREEN_WIDTH), i * 80 + 60, bubble_objects, directionX= - random.uniform(1, 5)))
game_objects.append(Vacuum(bubble_objects))
@@ -38,14 +48,14 @@ while True:
pygame.display.set_caption("Rush Hour CO2")
if len(bubble_objects) < BUBBLE_LIMIT:
for game_object in bubble_objects:
for game_object in game_objects:
game_object.update(SCREEN)
for game_object in bubble_objects:
for game_object in game_objects:
game_object.draw(SCREEN)
for game_object in game_objects:
for game_object in bubble_objects:
game_object.update(SCREEN)
for game_object in game_objects:
for game_object in bubble_objects:
game_object.draw(SCREEN)
else:
# TODO game over screen with message to reduce driving cars