hi guys i have a small problem. the cars in my program collide against each other. it works when i don't have any class car. but now there's some confusion with the speed of the car. ive worked for hours on this but no solution found.
i hope u guys can do it for me thanks.
import Tkinter as tk import time import sys import datetime as dt from Tkinter import * import random root=tk.Tk() root.title("Traffic Simulation") canvas = tk.Canvas(root, width=1000, height=400, bg="#FFFFFF") canvas.pack() class Car(object): def __init__(self, a,b,c,d, outline='blue', fill='blue'): self.rect = canvas.create_rectangle(a,b,c,d, outline=outline, fill=fill) self.rear_bumper = 150 self.front_bumper = -10 self.xspeed = 2 self.yspeed = 0 def set_speed(self, xspeed, yspeed): self.speed = xspeed, yspeed def move(self): canvas.move(self.rect, self.speed, self.speed) vehicle=canvas.coords(self.rect) canvas.update() car1 = Car(-30, 155, -10, 170, outline='blue', fill='blue') car2 = Car(-30, 155, -10, 170, outline='blue', fill = 'blue') times1 = ['2000'] timer1 = random.choice(times1) times2 = ['4000'] timer2 = random.choice(times2) car1.bumper = 150, -10 car2.bumper = 150, -10 car1.set_speed(2,0) car2.set_speed(4,0) # move car while True: car1.move() canvas.after(timer1, car2.move) time.sleep(0.025) car1.rear_bumper += car1.xspeed car2.front_bumper += car2.xspeed diff_between_cars = car1.rear_bumper - car2.front_bumper print car1.rear_bumper if 50 <= diff_between_cars < 60: car2.set_speed = 2,0 #decelerate elif diff_between_cars < 50: car2.set_speed = 1,0 #match speed of front car canvas.update() root.mainloop()