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!")
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!")
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!")