2021-03-29 02:19:55 +02:00
|
|
|
from Main.TractorLoad import TractorTrailer
|
|
|
|
from Main.constants import HORIZONTAL_TILES_NUMBER, VERTICAL_TILES_NUMBER
|
|
|
|
|
|
|
|
|
|
|
|
class Tractor:
|
2021-03-29 03:41:38 +02:00
|
|
|
def __init__(self, horizontal_index, vertical_index, hitch, header):
|
2021-03-29 02:19:55 +02:00
|
|
|
self.__horizontal_index = horizontal_index
|
|
|
|
self.__vertical_index = vertical_index
|
|
|
|
self.__hitch = hitch
|
|
|
|
self.__header = header
|
2021-03-29 03:41:38 +02:00
|
|
|
self.__fuel_tank = 100
|
|
|
|
self.__engineWorking = False
|
2021-03-29 02:19:55 +02:00
|
|
|
|
|
|
|
@property
|
|
|
|
def horizontal_index(self):
|
|
|
|
return self.__horizontal_index
|
|
|
|
|
|
|
|
@horizontal_index.setter
|
|
|
|
def horizontal_index(self, horizontal_index):
|
|
|
|
if self.__horizontal_index > 1 or self.__horizontal_index < HORIZONTAL_TILES_NUMBER - 1:
|
2021-03-29 03:41:38 +02:00
|
|
|
if self.__engineWorking:
|
|
|
|
self.__horizontal_index = horizontal_index
|
2021-03-29 02:19:55 +02:00
|
|
|
|
|
|
|
@property
|
|
|
|
def vertical_index(self):
|
|
|
|
return self.__vertical_index
|
|
|
|
|
|
|
|
@vertical_index.setter
|
|
|
|
def vertical_index(self, vertical_index):
|
|
|
|
if self.__vertical_index > 1 or self.__vertical_index < VERTICAL_TILES_NUMBER - 1:
|
2021-03-29 03:41:38 +02:00
|
|
|
if self.__engineWorking:
|
|
|
|
self.__vertical_index = vertical_index
|
2021-03-29 02:19:55 +02:00
|
|
|
|
|
|
|
@property
|
|
|
|
def hitch(self):
|
|
|
|
return self.__hitch
|
|
|
|
|
|
|
|
@hitch.setter
|
|
|
|
def hitch(self, hitch):
|
2021-03-29 03:41:38 +02:00
|
|
|
if hitch == "Tillage unit" or "Crop Trailer" or TractorTrailer or "Nothing":
|
2021-03-29 02:19:55 +02:00
|
|
|
self.__hitch = hitch
|
|
|
|
|
|
|
|
@property
|
|
|
|
def fuel_tank(self):
|
|
|
|
return self.__fuel_tank
|
|
|
|
|
|
|
|
def __fuel_tank(self, fuel_tank):
|
|
|
|
if 0 < fuel_tank < 100:
|
|
|
|
self.__fuel_tank = fuel_tank
|
|
|
|
|
|
|
|
def fill_tank(self):
|
|
|
|
self.__fuel_tank(100)
|
|
|
|
|
|
|
|
def reduce_fuel(self):
|
2021-03-29 03:41:38 +02:00
|
|
|
if 0 < self.fuel_tank <= 100:
|
2021-03-29 02:19:55 +02:00
|
|
|
self.__fuel_tank = self.__fuel_tank - 1
|
2021-03-29 03:41:38 +02:00
|
|
|
if self.__fuel_tank <= 0:
|
|
|
|
self.__engineWorking = False
|
2021-03-29 02:19:55 +02:00
|
|
|
|
|
|
|
@property
|
|
|
|
def header(self):
|
|
|
|
return self.__header
|
|
|
|
|
|
|
|
@header.setter
|
|
|
|
def header(self, header):
|
|
|
|
if header is True or False:
|
|
|
|
self.__header = header
|
2021-03-29 03:41:38 +02:00
|
|
|
|
|
|
|
@property
|
|
|
|
def engineWorking(self):
|
|
|
|
return self.__engineWorking
|
|
|
|
|
|
|
|
def turnOnEngine(self):
|
|
|
|
if self.__fuel_tank > 0:
|
|
|
|
self.__engineWorking = True
|
|
|
|
else:
|
|
|
|
print("noFuel")
|
|
|
|
|
|
|
|
def turnOffEngine(self):
|
|
|
|
self.__engineWorking = False
|