Exemple #1
0
def __describeComparativePosition__(description):
    descrip = Description()
    if len(description[0]) > 0:
        descrip.insideOf(description[0])
    if len(description[1]) > 0:
        descrip.nearTo(description[1])
    if len(description[2]) > 0:
        descrip.northOf(description[2])
    if len(description[3]) > 0:
        descrip.southOf(description[3])
    if len(description[4]) > 0:
        descrip.eastOf(description[4])
    if len(description[5]) > 0:
        descrip.westOf(description[5])
    return repr(descrip)
Exemple #2
0
def printBuildingsByDirectionalPositions(village):
    northMatrix = village.describeBuildingsByRelativePositioning(
        Building.isNorthOf)
    southMatrix = village.describeBuildingsByRelativePositioning(
        Building.isSouthOf)
    eastMatrix = village.describeBuildingsByRelativePositioning(
        Building.isEastOf)
    westMatrix = village.describeBuildingsByRelativePositioning(
        Building.isWestOf)
    for building in village.getBuildings():
        description = Description()
        if len(northMatrix[building]) > 0:
            description.northOf(northMatrix[building])
        if len(southMatrix[building]) > 0:
            description.southOf(southMatrix[building])
        if len(eastMatrix[building]) > 0:
            description.eastOf(eastMatrix[building])
        if len(westMatrix[building]) > 0:
            description.westOf(westMatrix[building])
        print(f'{building.name} {description}')