init main.py, add light class
Signed-off-by: Better nya <nya@nya.com>
This commit is contained in:
parent
b2aafde7d5
commit
503833918c
1 changed files with 47 additions and 0 deletions
47
main.py
Normal file
47
main.py
Normal file
|
|
@ -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)
|
||||||
|
|
||||||
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue