private static void simTraining(ref DataPool worldData) { for (int index = 0; index < worldData.Managers.Count; index++) { ManagerProtocol.executeWeek(ref worldData, index); } }
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(); } } }
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); } }