CoCalc provides the best real-time collaborative environment for Jupyter Notebooks, LaTeX documents, and SageMath, scalable from individual users to large groups and classes!
CoCalc provides the best real-time collaborative environment for Jupyter Notebooks, LaTeX documents, and SageMath, scalable from individual users to large groups and classes!
Path: blob/master/Day01-15/code/Day13/test3.py
Views: 729
from random import randint1from threading import Thread2from time import sleep34import pygame567class Color(object):8BLACK = (0, 0, 0)9WHITE = (255, 255, 255)10GRAY = (242, 242, 242)1112@staticmethod13def random_color():14r = randint(0, 255)15g = randint(0, 255)16b = randint(0, 255)17return r, g, b181920class Car(object):2122def __init__(self, x, y, color):23self._x = x24self._y = y25self._color = color2627def move(self):28if self._x + 80 < 950:29self._x += randint(1, 10)3031def draw(self, screen):32pygame.draw.rect(screen, self._color,33(self._x, self._y, 80, 40), 0)343536def main():3738class BackgroundTask(Thread):3940def run(self):41while True:42screen.fill(Color.GRAY)43pygame.draw.line(screen, Color.BLACK, (130, 0), (130, 600), 4)44pygame.draw.line(screen, Color.BLACK, (950, 0), (950, 600), 4)45for car in cars:46car.draw(screen)47pygame.display.flip()48sleep(0.05)49for car in cars:50car.move()5152cars = []53for index in range(5):54temp = Car(50, 50 + 120 * index, Color.random_color())55cars.append(temp)56pygame.init()57screen = pygame.display.set_mode((1000, 600))58BackgroundTask(daemon=True).start()59running = True60while running:61for event in pygame.event.get():62if event.type == pygame.QUIT:63running = False64pygame.quit()656667if __name__ == '__main__':68main()697071