28 lines
783 B
Python
28 lines
783 B
Python
from engine import Engine
|
|
|
|
class Transmission:
|
|
def __init__(self, engine):
|
|
self.clutch_pressure = 0
|
|
self.gear_ratios = [0,216,108,72,54,43,36]
|
|
self.selected_gear = 0
|
|
self.max_gear = 6
|
|
self.min_gear = -1
|
|
self.inertia = 0
|
|
|
|
self.engine = engine
|
|
|
|
def upshift(self):
|
|
self.selected_gear = min(self.selected_gear + 1, self.max_gear)
|
|
print(self.selected_gear)
|
|
|
|
def downshift(self):
|
|
self.selected_gear = max(self.selected_gear - 1, self.min_gear)
|
|
print(self.selected_gear)
|
|
|
|
def get_velocity(self):
|
|
if (self.selected_gear == 0):
|
|
return 0
|
|
return self.engine.rpm / self.gear_ratios[self.selected_gear]
|
|
|
|
def calculate_load(self):
|
|
return |