diff --git a/FindPath.py b/FindPath.py new file mode 100644 index 0000000..44b9419 --- /dev/null +++ b/FindPath.py @@ -0,0 +1,38 @@ +from constants import * + +def whichStateLookingFor(tractor, TillageUnit): + if tractor.header and tractor.hitch == "Crop Trailer": + searching_field = "toCut" + elif isinstance(tractor.hitch, TillageUnit) and tractor.hitch.load == "Nothing": + searching_field = "toPlow" + elif isinstance(tractor.hitch, TillageUnit) and tractor.hitch.load == "Water": + searching_field = "toWater" + elif isinstance(tractor.hitch, TillageUnit) and tractor.hitch.load == "Seeds": + searching_field = "toSeed" + elif isinstance(tractor.hitch, TillageUnit) and tractor.hitch.load == "Fertilizer": + searching_field = "toFertilize" + return searching_field + +def nearestLookingField(board, tractor, TillageUnit): + x = whichStateLookingFor(tractor, TillageUnit) + for i in range(0, int(HORIZONTAL_TILES_NUMBER)): + for j in range(0, int(VERTICAL_TILES_NUMBER)): + field = board[i][j] + if x == field.state: + end_horizontal_index = field.horizontal_index + end_vertical_index = field.vertical_index + break + else: + print('Wroc do bazy zmienic narzedzie') + end_horizontal_index = 0 + end_vertical_index = 0 + return(end_horizontal_index, end_vertical_index) + +def graphsearch(tractor, board, TillageUnit): + start_horizontal_index = tractor.horizontal_index + start_vertical_index = tractor.vertical_index + start_state = (start_horizontal_index, start_vertical_index) + end_state = nearestLookingField(board, tractor, TillageUnit) + print(start_state) + print(end_state) +