Example #1
0
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)]
Example #2
0
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)]