-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathCar.py
25 lines (22 loc) · 1.29 KB
/
Car.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
from config import car_sizes, car_color, car_frame
from math import sin, cos, pi, sqrt, atan2
class Car:
def __init__(self, position, angle = 0) -> None:
super().__init__()
self.position = position
self.angle = angle
def update(self):
self.angle += 0.01
def draw(self, draw_tool, display):
gipotenuse = sqrt(car_sizes[0] * car_sizes[0] + car_sizes[1] * car_sizes[1])
angle_between = atan2(car_sizes[1], car_sizes[0])
draw_tool.lines(display, car_color, True,
[[self.position[0] + gipotenuse*cos(angle_between + self.angle),
self.position[1] + gipotenuse*sin(angle_between + self.angle)],
[self.position[0] + gipotenuse * cos(pi - angle_between + self.angle),
self.position[1] + gipotenuse * sin(pi - angle_between + self.angle)],
[self.position[0] + gipotenuse * cos(angle_between + self.angle + pi),
self.position[1] + gipotenuse * sin(angle_between + self.angle + pi)],
[self.position[0] + gipotenuse * cos(-angle_between + self.angle),
self.position[1] + gipotenuse * sin(-angle_between + self.angle)]],
car_frame)