From 503833918c8fa978609f27e5b7a55ae5e4cfed09 Mon Sep 17 00:00:00 2001 From: Better nya Date: Wed, 18 Feb 2026 13:38:23 +1100 Subject: [PATCH] init main.py, add light class Signed-off-by: Better nya --- main.py | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 main.py diff --git a/main.py b/main.py new file mode 100644 index 0000000..c6849d9 --- /dev/null +++ b/main.py @@ -0,0 +1,47 @@ +import random +import pygame +import sys + +pygame.init() + +# Window Setup +WIDTH, HEIGHT = 1000, 700 +screen = pygame.display.set_mode((WIDTH, HEIGHT)) +pygame.display.set_caption("Traffic Simulation") + +FPS = 60 +clock = pygame.time.Clock() + +# Colours +ROAD = (60, 60, 60) +CAR = (200, 40, 40) +GREEN = (0, 200, 0) +YELLOW= (255, 180, 0) +RED = (200, 0, 0) +WHITE = (255, 255, 255) +UI_BG = (30, 30, 30) + +#Classes + +#Traffic Light Class +class TrafficLight: + def __init__(self, x, y): + self.x = x + self.y = y + self.states = ["green", "yellow", "red"] + self.current = "green" + self.timer = 0 + self.cycle_time = 120 + + def update(self): + self.timer += 1 + if self.timer > self.cycle_time: + self.timer = 0 + idx = self.states.index(self.current) + self.current = self.states[(idx +1) % 3] + + def draw(self, surf): + colour = GREEN if self.current == "green" else YELLOW if self.current == "yellow" else RED + pygame.draw.circle(surf, colour, (self.x, self.y), 12) + +