Exemple #1
0
    public void upgradeFacilities(ref DataPool worldData, float elo, BoxerClass.Type preference)
    {
        int pointsToGive = EvaluationProtocol.getFacilityPointsFromElo(elo);

        List <ManagerProtocol.FacilityShortcut> upgrades = new List <ManagerProtocol.FacilityShortcut> (new ManagerProtocol.FacilityShortcut[] {
            ManagerProtocol.FacilityShortcut.DoubleEndBag, ManagerProtocol.FacilityShortcut.PunchGlove, ManagerProtocol.FacilityShortcut.Laps,
            ManagerProtocol.FacilityShortcut.Sprints, ManagerProtocol.FacilityShortcut.PunchingBag
        });

        List <EvaluationProtocol.Stats> bestStats = BoxerClass.getBuild(preference);

        foreach (EvaluationProtocol.Stats stat in bestStats)
        {
            if (stat.Equals(EvaluationProtocol.Stats.AccuracyGrowth))
            {
                upgrades.Add(ManagerProtocol.FacilityShortcut.DoubleEndBag);
            }
            else if (stat.Equals(EvaluationProtocol.Stats.EnduranceGrowth))
            {
                upgrades.Add(ManagerProtocol.FacilityShortcut.PunchGlove);
            }
            else if (stat.Equals(EvaluationProtocol.Stats.HealthGrowth))
            {
                upgrades.Add(ManagerProtocol.FacilityShortcut.Laps);
            }
            else if (stat.Equals(EvaluationProtocol.Stats.SpeedGrowth))
            {
                upgrades.Add(ManagerProtocol.FacilityShortcut.Sprints);
            }
            else if (stat.Equals(EvaluationProtocol.Stats.StrengthGrowth))
            {
                upgrades.Add(ManagerProtocol.FacilityShortcut.PunchingBag);
            }
        }

        for (int i = 0; i < pointsToGive; i++)
        {
            if (upgrades.Count > 0)
            {
                ManagerProtocol.FacilityShortcut upgrade = upgrades [generateRandomInt(0, upgrades.Count - 1)];

                homeBaseFacilities [upgrade].upgradeFacility(ref worldData);

                if (homeBaseFacilities [upgrade].Level == 5)
                {
                    upgrades.Remove(upgrade);

                    if (upgrades.IndexOf(upgrade) >= 0)
                    {
                        upgrades.Remove(upgrade);
                    }
                }
            }
        }
    }
Exemple #2
0
    public Homebase(JSONObject json)
    {
        level = (int)json.GetField("level").i;

        homeBaseFacilities = new Dictionary <ManagerProtocol.FacilityShortcut, Facility>();
        foreach (JSONObject record in json.GetField("facilities").list)
        {
            ManagerProtocol.FacilityShortcut facility =
                (ManagerProtocol.FacilityShortcut)Enum.Parse(typeof(ManagerProtocol.FacilityShortcut), record.GetField("key").str);
            homeBaseFacilities.Add(facility, new Facility(record.GetField("value")));
        }
    }
Exemple #3
0
    public Ship(JSONObject json)
    {
        shipClass = (ShipClass)Enum.Parse(typeof(ShipClass), json.GetField("class").str);
        speed     = (int)json.GetField("speed").i;

        shipFacilities = new Dictionary <ManagerProtocol.FacilityShortcut, Facility>();
        foreach (JSONObject record in json.GetField("facilities").list)
        {
            ManagerProtocol.FacilityShortcut facility =
                (ManagerProtocol.FacilityShortcut)Enum.Parse(typeof(ManagerProtocol.FacilityShortcut), record.GetField("key").str);
            shipFacilities.Add(facility, new Facility(record.GetField("value")));
        }
    }
Exemple #4
0
    public void train(ref DataPool worldData)
    {
        ManagerProtocol.FacilityShortcut training = chooseTraining();

        if (atSea)
        {
            ship.train(ref worldData, boxerIndex, training);
        }
        else
        {
            homebase.train(ref worldData, boxerIndex, training);
        }
    }
Exemple #5
0
    private void setupTrainingRegime()
    {
        trainingRegime.Add(ManagerProtocol.FacilityShortcut.DoubleEndBag);
        trainingRegime.Add(ManagerProtocol.FacilityShortcut.Laps);
        trainingRegime.Add(ManagerProtocol.FacilityShortcut.PunchGlove);
        trainingRegime.Add(ManagerProtocol.FacilityShortcut.PunchingBag);
        trainingRegime.Add(ManagerProtocol.FacilityShortcut.Sprints);

        List <EvaluationProtocol.Stats> bestStats = BoxerClass.getBuild(preference);

        foreach (EvaluationProtocol.Stats stat in bestStats)
        {
            ManagerProtocol.FacilityShortcut shortcut = ManagerProtocol.FacilityShortcut.DoubleEndBag;

            if (stat.Equals(EvaluationProtocol.Stats.AccuracyGrowth))
            {
                shortcut = ManagerProtocol.FacilityShortcut.DoubleEndBag;
            }
            else if (stat.Equals(EvaluationProtocol.Stats.EnduranceGrowth))
            {
                shortcut = ManagerProtocol.FacilityShortcut.PunchGlove;
            }
            else if (stat.Equals(EvaluationProtocol.Stats.HealthGrowth))
            {
                shortcut = ManagerProtocol.FacilityShortcut.Laps;
            }
            else if (stat.Equals(EvaluationProtocol.Stats.SpeedGrowth))
            {
                shortcut = ManagerProtocol.FacilityShortcut.Sprints;
            }
            else if (stat.Equals(EvaluationProtocol.Stats.StrengthGrowth))
            {
                shortcut = ManagerProtocol.FacilityShortcut.PunchingBag;
            }

            for (int i = 0; i < 2; i++)
            {
                trainingRegime.Add(shortcut);
            }
        }
    }
Exemple #6
0
    private void initializeHomebaseFacility(ref DataPool worldData, ManagerProtocol.FacilityShortcut facility, bool ai)
    {
        Exercise training = new Exercise("", "", ai);

        if (facility.Equals(ManagerProtocol.FacilityShortcut.DoubleEndBag))
        {
            training = new Exercise("Double End Bag", worldData.getExerciseDescription("Double End Bag"), ai);
        }
        else if (facility.Equals(ManagerProtocol.FacilityShortcut.PunchGlove))
        {
            training = new Exercise("Punch Glove", worldData.getExerciseDescription("Punch Glove"), ai);
        }
        else if (facility.Equals(ManagerProtocol.FacilityShortcut.Laps))
        {
            training = new Exercise("Laps", worldData.getExerciseDescription("Laps"), ai);
        }
        else if (facility.Equals(ManagerProtocol.FacilityShortcut.Sprints))
        {
            training = new Exercise("Sprints", worldData.getExerciseDescription("Sprints"), ai);
        }
        else if (facility.Equals(ManagerProtocol.FacilityShortcut.PunchingBag))
        {
            training = new Exercise("Punching Bag", worldData.getExerciseDescription("Punching Bag"), ai);
        }

        List <int> trainingFactors = worldData.getExerciseProgressAcculumative(training.Name, 1);

        training.setFactors(
            trainingFactors [0], trainingFactors [1], trainingFactors [2],
            trainingFactors [3], trainingFactors [4], 20);

        Facility newFacility = new Facility();

        newFacility.createExerciseFacility(1, training);
        homeBaseFacilities.Add(facility, newFacility);
    }
Exemple #7
0
 public void train(ref DataPool worldData, int boxerIndex, ManagerProtocol.FacilityShortcut training)
 {
     shipFacilities [training].utilizeFacility(ref worldData, boxerIndex);
 }