コード例 #1
0
ファイル: FreeOrionAI.py プロジェクト: dbuksbaum/FreeOrion
def identifyFleetsRoles():
    "identify fleet roles"

    # assign roles to fleets
    universe = fo.getUniverse()
    for fleetID in universe.fleetIDs:
        foAIstate.addFleetRole(fleetID, FleetUtilsAI.assessFleetRole(fleetID))
コード例 #2
0
ファイル: FreeOrionAI.py プロジェクト: adesst/freeorion
def identifyFleetsRoles():
    "identify fleet roles"
    print ("Identifying fleet roles")

    # assign roles to fleets
    universe = fo.getUniverse()
    for fleetID in universe.fleetIDs:
        print ("considering fleet with id: " + str(fleetID))
        foAIstate.addFleetRole(fleetID, FleetUtilsAI.assessFleetRole(fleetID))
コード例 #3
0
ファイル: AIstate.py プロジェクト: anarsky/freeorion
    def getFleetRole(self, fleetID,  forceNew=False):
        "returns fleet role by ID"

        if (not forceNew) and fleetID in self.__fleetRoleByID:
            return self.__fleetRoleByID[fleetID]
        else:
            role=FleetUtilsAI.assessFleetRole(fleetID)
            self.__fleetRoleByID[fleetID] = role
            makeAggressive=False
            if role in [AIFleetMissionType.FLEET_MISSION_COLONISATION,  AIFleetMissionType.FLEET_MISSION_OUTPOST]:
                pass
            if role in [AIFleetMissionType.FLEET_MISSION_EXPLORATION]:
                thisRating=self.getRating(fleetID)
                if float(thisRating.get('overall', 0))/thisRating.get('nships', 1) >= 0.5 * ProductionAI.curBestMilShipRating():
                    makeAggressive=True
            else:
                    makeAggressive=True
            fo.issueAggressionOrder(fleetID,  makeAggressive)
            return role