def route_complete(playerData, carId): """The engine calls this function during part 1 to validate your route checking Parameters: playerData - your player data as always carId - the id of the car where the route starts (1-32) You return: isComplete - true or false depending on whether or not this car connects to another car or power station""" # get position of first tile myCar = CarData(carId) currTile = playerData.tiles[myCar.entryTile] currNode = myCar.entryNode # traverse route until complete or dead-end while True: exitNode = currTile.routeMap[currNode] if (exitNode == None): return False elif (currTile.isTerminalNode(exitNode) is True): myCar.complete = True return True elif (currTile.isPsNode(exitNode) is True): myCar.complete = True return True elif (exitNode == 1): currNode = 4 currTile = playerData.tiles[(currTile.position[0] - 1, currTile.position[1])] elif (exitNode == 3): currNode = 6 currTile = playerData.tiles[(currTile.position[0], currTile.position[1] + 1)] elif (exitNode == 5): currNode = 0 currTile = playerData.tiles[(currTile.position[0] + 1, currTile.position[1])] elif (exitNode == 7): currNode = 2 currTile = playerData.tiles[(currTile.position[0], currTile.position[1] - 1)]
def route_complete(playerData, carId): """The engine calls this function during part 1 to validate your route checking Parameters: playerData - your player data as always carId - the id of the car where the route starts (1-32) You return: isComplete - true or false depending on whether or not this car connects to another car or power station""" # get position of first tile myCar = CarData(carId) currTile = playerData.tiles[myCar.entryTile] currNode = myCar.entryNode # traverse route until complete or dead-end while True: exitNode = currTile.routeMap[currNode] if (exitNode == None): return False elif (currTile.isTerminalNode(exitNode) is True): myCar.complete = True return True elif (currTile.isPsNode(exitNode) is True): myCar.complete = True return True elif (exitNode == 1): currNode = 4 currTile = playerData.tiles[(currTile.position[0]-1,currTile.position[1])] elif (exitNode == 3): currNode = 6 currTile = playerData.tiles[(currTile.position[0],currTile.position[1]+1)] elif (exitNode == 5): currNode = 0 currTile = playerData.tiles[(currTile.position[0]+1,currTile.position[1])] elif (exitNode == 7): currNode = 2 currTile = playerData.tiles[(currTile.position[0],currTile.position[1]-1)]