Ejemplo n.º 1
0
 private static void simTraining(ref DataPool worldData)
 {
     for (int index = 0; index < worldData.Managers.Count; index++)
     {
         ManagerProtocol.executeWeek(ref worldData, index);
     }
 }
Ejemplo n.º 2
0
    void Start()
    {
        worldData = new DataPool();

        WorldBuilderProtocol.createWorld(ref worldData, 220, 220);

        Manager manager = new Manager("Capn", "AT", 0, 155.0f, BoxerClass.Type.Bullseye);

        worldData.Managers.Add(manager);

        List <Boxer> boxers = WorldBuilderProtocol.generateBoxerRecruits(ref worldData, manager.TownIndex, 0);

        int   bIndex = 0;
        float max    = 0.0f;

        for (int i = 0; i < boxers.Count; i++)
        {
            float boxerEval = EvaluationProtocol.evaluateBoxer(boxers [i], worldData.Managers [0].Preference);

            Debug.Log(boxerEval);
            boxers [i].logBoxerStats();

            if (boxerEval > max)
            {
                max    = boxerEval;
                bIndex = i;
            }
        }

        worldData.Boxers.Add(boxers [bIndex]);
        manager.recruitBoxer(worldData.Boxers.Count - 1);

        for (int i = 0; i < 5; i++)
        {
            Debug.Log("Year " + (i + 1));
            for (int j = 0; j < 48; j++)
            {
                ManagerProtocol.executeWeek(ref worldData, 0);
                worldData.Boxers [manager.BoxerIndex].logBoxerStats();
            }
        }
    }
Ejemplo n.º 3
0
    private void weeklyTest()
    {
        thisWeeksTournaments = new List <int>();

        int index = 0;

        foreach (Town town in worldData.Towns)
        {
            if (town.Tournament.TournamentDate.sameWeek(worldData.Calendar.GetCalendarDate()))
            {
                thisWeeksTournaments.Add(index);
            }
            index++;
        }

        if ((worldData.Calendar.getWeekOfYear() - 1) % 8 == 0)
        {
            foreach (Capitol c in worldData.Capitols)
            {
                foreach (TournamentProtocol.Level level in c.Quarterlies.Keys)
                {
                    List <int> recruits = recruit(level, c.Location, true);

                    for (int i = 0; i < recruits.Count; i++)
                    {
                        if (c.Quarterlies[level].spaceLeft())
                        {
                            c.Quarterlies[level].addContestant(recruits[i]);
                            worldData.Managers[recruits[i]].attendTournament();
                        }
                    }
                }
            }
        }

        foreach (int tIndex in thisWeeksTournaments)
        {
            List <int> recruits = recruit(worldData.Towns[tIndex].Tournament.Level, worldData.Towns[tIndex].Location, false);

            for (int i = 0; i < recruits.Count; i++)
            {
                if (worldData.Towns[tIndex].Tournament.spaceLeft())
                {
                    worldData.Towns[tIndex].Tournament.addContestant(recruits[i]);
                    worldData.Managers[recruits[i]].attendTournament();
                }
                else
                {
                    worldData.Managers[recruits[i]].bumpTournamentPriority();
                }
            }
        }

        for (int i = 0; i < worldData.Managers.Count; i++)
        {
            ManagerProtocol.executeWeek(ref worldData, i);
        }

        if ((worldData.Calendar.getWeekOfYear() - 1) % 8 == 0)
        {
            foreach (Capitol c in worldData.Capitols)
            {
                foreach (TournamentProtocol.Level level in c.Quarterlies.Keys)
                {
                    if (c.Quarterlies[level].Attendees > 2)
                    {
                        //Debug.Log(c.Location.ToString() + " - " + c.Quarterlies[level].getDetails());
                        c.Quarterlies[level].scheduleTournament();
                        //c.Quarterlies[level].SimWholeTournament(ref worldData);
                        //c.Quarterlies[level].logResults(ref worldData);
                    }
                    else
                    {
                        //c.Quarterlies[level].cancelTournament(ref worldData);
                    }

                    c.Quarterlies[level].refreshTournament(true);
                }
            }
            //worldData.updateBoxerDistribution();
            //distribution();
        }

        foreach (int tIndex in thisWeeksTournaments)
        {
            if (worldData.Towns[tIndex].Tournament.Attendees > 2)
            {
                //Debug.Log(worldData.Towns[tIndex].Location.ToString() + " - " + worldData.Towns[tIndex].Tournament.getDetails());
                worldData.Towns[tIndex].Tournament.scheduleTournament();
                //worldData.Towns[tIndex].Tournament.SimWholeTournament(ref worldData);
            }
            else
            {
                //worldData.Towns[tIndex].Tournament.cancelTournament(ref worldData);
            }

            worldData.Towns[tIndex].Tournament.refreshTournament(false);
        }
    }