Example #1
0
def build_road(player, vertexList, longestRoad, resourceDecks, surface, playerKey):
    if not player.has_unbuilt_road():
        return (1, "{} does not have any roads to build.".format(player.name))
    if not player.can_afford(c.roadCost):
        return (2, "{} cannot afford to build a road.".format(player.name))
    successfulBuild = False
    while not successfulBuild:
        print("Pick the first vertex.")
        vertex1 = ui.get_vertex_from_player(player, vertexList, playerKey)
        if vertex1 is None:
            return (3, "No vertex picked. Returning.")
        print("Pick the second vertex.")
        vertex2 = ui.get_vertex_from_player(player, vertex1.adjacentVertices, playerKey)
        if vertex2 is None:
            return (3, "No vertex picked. Returning")
        result = player.build_road(vertex1, vertex2, longestRoad, resourceDecks, surface)
        print(result[1])
        if result[0] == 0:
            successfulBuild = True
    pygame.display.update()
    return (0, "Road built!")
Example #2
0
def upgrade_settlement(player, vertexList, resourceDecks, surface, playerKey):
    if not player.has_unbuilt_city():
        return (1, "{} does not have any cities to build.".format(player.name))
    if not player.can_afford(c.cityCost):
        return (2, "{} cannot afford to build a city.".format(player.name))
    successfulUpgrade = False
    while not successfulUpgrade:
        print("{}, pick the town you wish to upgrade.".format(player.name))
        vertexToUpgrade = ui.get_vertex_from_player(player, vertexList, playerKey)
        if vertexToUpgrade is None:
            return(2, "No vertex selected. Returning.")
        result = player.build_city(vertexToUpgrade, resourceDecks, surface)
        print(result[1])
        if result[0] == 0:
            successfulUpgrade = True
    pygame.display.update()
    return (0, "Settlement upgraded!")
Example #3
0
def build_settlement(player, vertexList, resourceDecks, surface, playerKey):
    if not player.has_unbuilt_town():
        return (1, "{} does not have any settlements to build.".format(player.name))
    if not player.can_afford(c.townCost):
        return (2, "{} cannot afford to build a settlement.".format(player.name))
    successfulBuild = False
    while not successfulBuild:
        print("{}, pick the vertex desired for the settlement.".format(player.name))
        vertexToSettle = ui.get_vertex_from_player(player, vertexList, playerKey)
        if vertexToSettle is None:
            return (3, "No vertex selected. Returning.")
        result = player.build_town(vertexToSettle, resourceDecks, surface)
        print(result[1])
        if result[0] == 0:
            successfulBuild = True
    pygame.display.update()
    return (0, "Settlement built!")