/// <summary> /// Instantiate a new raid egg filter class. /// </summary> public FilterEggObject() { MinimumLevel = 1; MaximumLevel = 6; Team = PokemonTeam.All; }
public void test() { int score = 0; foreach (PokemonTeam t in pD.getEvalTeams()) { Console.Write("\nBattling against a team with: "); foreach (Pokemon p in t.getMembers()) { Console.Write(p.getName() + " "); } float[] testDNA = pD.createDnaUsingPkmn(t); input = testDNA; fillNetwork(bestDNA); calculate(); PokemonTeam attacker = pD.createTeamUsingDNA(output); score += b.battle(attacker.getMembers(), t.getMembers()); } Console.Write("\nA score of " + score + " was achieved against the evaluation teams! (FF)"); }
public IActionResult EditPokemon(PokemonTeamDetail pokemonTeamDetail) { PokemonTeam pokemonTeam = this.dataService.GetPokemonTeamFromPokemon(pokemonTeamDetail.Id); if (!this.ModelState.IsValid) { List <Pokemon> pokemonList = this.FillPokemonList(pokemonTeam); UpdateTeamPokemonViewModel model = new UpdateTeamPokemonViewModel() { PokemonTeamDetail = pokemonTeamDetail, AllPokemon = pokemonList, AllNatures = this.dataService.GetObjects <Nature>("Name"), AllAbilities = this.dataService.GetObjects <Ability>("Name"), AllBattleItems = this.dataService.GetBattleItems().OrderBy(x => x.Name).ToList(), GameId = pokemonTeam.GameId, }; return(this.View(model)); } Pokemon pokemon = this.dataService.GetPokemonById(pokemonTeamDetail.PokemonId); if (pokemon.GenderRatioId == 10) { pokemonTeamDetail.Gender = null; } this.dataService.UpdatePokemonTeamDetail(pokemonTeamDetail); return(this.RedirectToAction("PokemonTeams", "User")); }
public PokemonTeam createTeamUsingDNA(float[] pD) { PokemonTeam pT = new PokemonTeam(); Pokemon p1, p2, p3; int no1 = 0, no2 = 1, no3 = 2; for (int i = 0; i < pD.Length; i++) { if (pD[i] > pD[no1]) { no1 = i; } else if (pD[i] > pD[no2]) { no2 = i; } else if (pD[i] > pD[no3]) { no3 = i; } } p1 = pokeDex[no1]; p2 = pokeDex[no2]; p3 = pokeDex[no3]; pT.setMembers(p1, p2, p3); return(pT); }
public async Task SetBasicInfo( [Summary("Zvolený team (roli).")] PokemonTeam team, [Summary("Aktuální level (1-40).")] int level) { await SetTeam(team); await SetLevel(level); }
public IActionResult EditTeam(PokemonTeam newPokemonTeam) { PokemonTeam originalPokemonTeam = this.dataService.GetObjectByPropertyValue <PokemonTeam>("Id", newPokemonTeam.Id); if (!this.ModelState.IsValid) { UpdatePokemonTeamViewModel model = new UpdatePokemonTeamViewModel() { Id = originalPokemonTeam.Id, PokemonTeamName = originalPokemonTeam.PokemonTeamName, GameId = originalPokemonTeam.GameId, UserId = originalPokemonTeam.UserId, AllGames = this.dataService.GetAvailableGames(newPokemonTeam.Id), }; return(this.View(model)); } if (originalPokemonTeam.PokemonTeamName != newPokemonTeam.PokemonTeamName) { originalPokemonTeam.PokemonTeamName = newPokemonTeam.PokemonTeamName; } if (originalPokemonTeam.GameId != newPokemonTeam.GameId) { originalPokemonTeam.GameId = newPokemonTeam.GameId; } this.dataService.UpdatePokemonTeam(originalPokemonTeam); return(this.RedirectToAction("PokemonTeams", "User")); }
private List <PokemonTeam> loadEvalTeams() { List <PokemonTeam> et = new List <PokemonTeam>(); Console.Write("\nSetting up evaluation teams"); string[] setupString; setupString = System.IO.File.ReadAllText("configfiles/evalTeams.txt").Split('\n'); for (int i = 0; i < setupString.Length; i++) { PokemonTeam pt = new PokemonTeam(); Pokemon[] p = new Pokemon[3]; string[] substring = setupString[i].Split(';'); for (int j = 0; j < substring.Length; j++) { foreach (Pokemon pN in pokeDex) { if (pN.getName() == substring[j]) { p[j] = pN; } } } pt.setMembers(p[0], p[1], p[2]); et.Add(pt); } return(et); }
public IActionResult DeleteTeam(int pokemonTeamId) { this.UpdatePokemonTeamList(); if (pokemonTeams.Count < pokemonTeamId) { return(this.RedirectToAction("PokemonTeams", "User")); } else { PokemonTeam pokemonTeam = pokemonTeams[pokemonTeamId - 1]; PokemonTeamViewModel model = new PokemonTeamViewModel() { Id = pokemonTeam.Id, PokemonTeamName = pokemonTeam.PokemonTeamName, FirstPokemon = pokemonTeam.FirstPokemon, SecondPokemon = pokemonTeam.SecondPokemon, ThirdPokemon = pokemonTeam.ThirdPokemon, FourthPokemon = pokemonTeam.FourthPokemon, FifthPokemon = pokemonTeam.FifthPokemon, SixthPokemon = pokemonTeam.SixthPokemon, AppConfig = this.appConfig, }; return(this.View(model)); } }
public IActionResult EditPokemon(int pokemonTeamId, int pokemonTeamDetailId) { this.UpdatePokemonTeamList(); if (pokemonTeams.Count < pokemonTeamId) { return(this.RedirectToAction("PokemonTeams", "User")); } else { PokemonTeam pokemonTeam = pokemonTeams[pokemonTeamId - 1]; PokemonTeamDetail pokemonTeamDetail = this.dataService.GetPokemonTeamDetail(pokemonTeam.GrabPokemonTeamDetailIds()[pokemonTeamDetailId - 1]); if (pokemonTeamDetail.Nature == null) { pokemonTeamDetail.NatureId = this.dataService.GetObjectByPropertyValue <Nature>("Name", "Serious").Id; } List <Pokemon> pokemonList = this.FillPokemonList(pokemonTeam); UpdateTeamPokemonViewModel model = new UpdateTeamPokemonViewModel() { PokemonTeamDetail = pokemonTeamDetail, AllPokemon = pokemonList, AllNatures = this.dataService.GetObjects <Nature>("Name"), AllAbilities = this.dataService.GetObjects <Ability>("Name"), AllBattleItems = this.dataService.GetBattleItems().OrderBy(x => x.Name).ToList(), GameId = pokemonTeam.GameId, }; return(this.View(model)); } }
public IActionResult CreatePokemon(CreateTeamPokemonViewModel pokemonTeamDetail, int pokemonTeamId) { if (!this.ModelState.IsValid) { CreateTeamPokemonViewModel model = new CreateTeamPokemonViewModel() { AllPokemon = this.FillPokemonList(pokemonTeams[pokemonTeamId - 1]), AllNatures = this.dataService.GetObjects <Nature>("Name"), NatureId = this.dataService.GetObjectByPropertyValue <Nature>("Name", "Serious").Id, GameId = pokemonTeamDetail.GameId, Level = 100, Happiness = 255, }; return(this.View(model)); } PokemonTeam pokemonTeam = pokemonTeams[pokemonTeamId - 1]; Pokemon pokemon = this.dataService.GetPokemonById(pokemonTeamDetail.PokemonId); if (pokemon.GenderRatioId == 10) { pokemonTeamDetail.Gender = null; } int pokemonTeamDetailId = this.dataService.AddPokemonTeamDetail(pokemonTeamDetail); pokemonTeam.InsertPokemon(this.dataService.GetPokemonTeamDetail(pokemonTeamDetailId)); this.dataService.UpdatePokemonTeam(pokemonTeam); return(this.RedirectToAction("PokemonTeams", "User")); }
public void SetPokemonAsFainted(IPokemon pokemon) { var foundPokemon = PokemonTeam.FirstOrDefault(fd => fd.Pokemon == pokemon); if (foundPokemon != null) { foundPokemon.Fainted = true; } }
public void test() { PokemonExperiment test = new PokemonExperiment(pD); config.Load("configfiles/NEATConfig.config.xml"); test.Initialize("Pokemon", config.DocumentElement); var genomeDecoder = test.CreateGenomeDecoder(); IBlackBox box = genomeDecoder.Decode(bestGenome); BattleHandler b = new BattleHandler(); int score = 0; List <PokemonTeam> evalTeams = pD.getEvalTeams(); foreach (PokemonTeam t in pD.getEvalTeams()) { string debug = "\nBattling against a team with: "; foreach (Pokemon p in t.getMembers()) { debug += p.getName() + " "; } Console.Write(debug); box.ResetState(); ISignalArray inputArray; inputArray = box.InputSignalArray; float[] pkmnDnaIn = pD.createDnaUsingPkmn(t); for (int j = 0; j < t.getMembers().Length; j++) { inputArray[j] = pkmnDnaIn[j]; } box.Activate(); ISignalArray outputArray; outputArray = box.OutputSignalArray; float[] pkmnDnaOut = new float[outputArray.Length]; for (int j = 0; j < pkmnDnaOut.Length; j++) { pkmnDnaOut[j] = (float)outputArray[j]; } PokemonTeam attacker = pD.createTeamUsingDNA(pkmnDnaOut); score += b.battle(attacker.getMembers(), t.getMembers()); } Console.Write("\nA Score of " + score + " was achieved agains the evaluation teams! (NEAT)"); Console.Write("\nThe NEAT has a complexity of " + bestGenome.Complexity); }
public IPokemon GetNextAvailablePokemon() { IPokemon firstAvailablePokemon = PokemonTeam.FirstOrDefault(pkmn => !pkmn.Fainted)?.Pokemon; if (firstAvailablePokemon != null) { SetPokemonAsCurrent(firstAvailablePokemon); } return(firstAvailablePokemon); }
private void mNewTeamNameBtn_Click(object sender, RoutedEventArgs e) { // Create a new PokemonTeam with the specified name. PokemonTeam t = new PokemonTeam() { Title = mNewTeamText.Text }; // Add the team to the context. mContext.PokemonTeams.Add(t); // Save the staged changes. mContext.SaveChanges(); }
public RaidData(int pokemonId, PokemonTeam team, string level, string cp, string move1, string move2, double lat, double lng, DateTime startTime, DateTime endTime) { PokemonId = pokemonId; Team = team; Level = level; CP = cp; FastMove = move1; ChargeMove = move2; Latitude = lat; Longitude = lng; StartTime = startTime; EndTime = endTime; }
public TeamVM(PokemonTeam model) { Model = model; raw = new PokemonVM[6]; for (int i = 0; i < 6; ++i) { raw[i] = new PokemonVM(this, i); } if (model.CanBattle) { EditorVM.Current.BattleTeams.Add(this); } }
public FitnessInfo Evaluate(IBlackBox box) { int fitness = 0; List <PokemonTeam> testTeams = pD.getTestTeams(); for (int i = 0; i < triesPerTest; i++) { foreach (PokemonTeam t in testTeams) { string debug = "\nTraining against a team with: "; foreach (Pokemon p in t.getMembers()) { debug += p.getName() + " "; } // Console.Write(debug); box.ResetState(); ISignalArray inputArray; inputArray = box.InputSignalArray; float[] pkmnDnaIn = pD.createDnaUsingPkmn(t); for (int j = 0; j < t.getMembers().Length; j++) { inputArray[j] = pkmnDnaIn[j]; } box.Activate(); ISignalArray outputArray; outputArray = box.OutputSignalArray; float[] pkmnDnaOut = new float[outputArray.Length]; for (int j = 0; j < pkmnDnaOut.Length; j++) { pkmnDnaOut[j] = (float)outputArray[j]; } PokemonTeam attacker = pD.createTeamUsingDNA(pkmnDnaOut); fitness += b.battle(attacker.getMembers(), t.getMembers()); evaluations++; //Console.Write("\nEvaluations = " + evaluations); //Console.Write("\nCurrent Neat Fitness: " + fitness); } } return(new FitnessInfo(fitness, fitness)); }
public IActionResult EditTeam(int pokemonTeamId) { this.UpdatePokemonTeamList(); PokemonTeam pokemonTeam = pokemonTeams[pokemonTeamId - 1]; UpdatePokemonTeamViewModel model = new UpdatePokemonTeamViewModel() { Id = pokemonTeam.Id, PokemonTeamName = pokemonTeam.PokemonTeamName, GameId = pokemonTeam.GameId, UserId = pokemonTeam.UserId, AllGames = this.dataService.GetAvailableGames(pokemonTeam.Id), }; return(this.View(model)); }
async Task <IRole> GetOrCreateRole(IGuild guild, PokemonTeam pokemonTeam) { var role = guild.Roles.FirstOrDefault(t => Enum.TryParse <PokemonTeam>(t.Name, out var team) && pokemonTeam == team); if (role == null) { logger.LogInformation($"Creating new role for team {pokemonTeam}"); role = await guild.CreateRoleAsync(pokemonTeam.ToString(), color : TeamRoleColors.GetColor(pokemonTeam), isHoisted : true); await role.ModifyAsync(t => { t.Mentionable = true; }); } return(role); }
public static Color GetColor(PokemonTeam team) { switch (team) { case PokemonTeam.Mystic: return(new Color(0x00, 0xb8, 0xff)); case PokemonTeam.Instinct: return(new Color(0xff, 0xf5, 0x00)); case PokemonTeam.Valor: return(new Color(0xff, 0x19, 0x05)); default: throw new Exception("Unknown team"); } }
private int individualTrain() { int genBestFitness = 0; int totalTeamBest = 0; foreach (PokemonTeam t in testTeams) { Console.Write("\nTraining against a team with: "); foreach (Pokemon p in t.getMembers()) { Console.Write(p.getName()); } float[] testDNA = pD.createDnaUsingPkmn(t); input = testDNA; for (int j = 0; j < DNA.Count; j++) { fillNetwork(DNA[j]); calculate(); PokemonTeam attacker = pD.createTeamUsingDNA(output); string debug; debug = "\nAttacking team: "; foreach (Pokemon p in attacker.getMembers()) { debug = debug + p.getName() + " "; } //Console.Write(debug); int fitness = b.battle(attacker.getMembers(), t.getMembers()); fitnesses[j] = fitness; //Console.Write("\nFeedForward Fitness = " + fitness); if (fitness > genBestFitness) { genBestFitness = fitness; } } totalTeamBest += genBestFitness; evolve(); } Console.Write("\nCurrent total: " + totalTeamBest); return(totalTeamBest); }
/// <summary> /// Creates a pokemon list from a selected pokemon team. /// </summary> /// <returns>The pokemon list.</returns> private List <Pokemon> FillPokemonList(PokemonTeam pokemonTeam) { List <Pokemon> pokemonList = this.dataService.GetAllPokemon().ToList(); if (pokemonTeam.GameId != null) { List <PokemonGameDetail> pokemonGameDetails = this.dataService.GetPokemonGameDetailsByGame((int)pokemonTeam.GameId); pokemonList = pokemonList.Where(x => pokemonGameDetails.Any(y => y.PokemonId == x.Id)).ToList(); } List <Pokemon> altForms = this.dataService.GetAllAltForms().ConvertAll(x => x.AltFormPokemon); foreach (var p in pokemonList.Where(x => altForms.Any(y => y.Id == x.Id)).ToList()) { p.Name = this.dataService.GetAltFormWithFormName(p.Id).Name; } return(pokemonList.OrderBy(x => x.Name).ToList()); }
public IActionResult DeletePokemon(int pokemonTeamId, int pokemonTeamDetailId) { this.UpdatePokemonTeamList(); if (pokemonTeams.Count < pokemonTeamId) { return(this.RedirectToAction("PokemonTeams", "User")); } else { PokemonTeam pokemonTeam = pokemonTeams[pokemonTeamId - 1]; PokemonTeamDetail pokemonTeamDetail = this.dataService.GetPokemonTeamDetail(pokemonTeam.GrabPokemonTeamDetailIds()[pokemonTeamDetailId - 1]); PokemonTeamDetailViewModel model = new PokemonTeamDetailViewModel() { Id = pokemonTeamDetail.Id, Pokemon = pokemonTeamDetail.Pokemon, AppConfig = this.appConfig, }; return(this.View(model)); } }
//Conversion Functions public float[] createDnaUsingPkmn(PokemonTeam pT) { float[] pkmnDNA = new float[pokeDex.Count]; for (int i = 0; i < pkmnDNA.Length; i++) { pkmnDNA[i] = 0; } foreach (Pokemon p in pT.getMembers()) { int place = -1; foreach (Pokemon pN in pokeDex) { if (pN.getName() == p.getName()) { place = pokeDex.IndexOf(pN); } } pkmnDNA[place] = 1; } return(pkmnDNA); }
public async Task SetTeam( [Summary("Zvolený team (roli).")] PokemonTeam team) { var contextUser = Context.User; var user = contextUser as SocketGuildUser; if (user == null) { return; } var userTeam = userService.GetTeam(user); if (userTeam != null) { await ReplyAsync("Už jsi v teamu."); return; } var role = teamService.GuildTeamRoles[Context.Guild.Id].TeamRoles[team]; await user.AddRoleAsync(role); }
public IActionResult CreatePokemon(int pokemonTeamId) { this.UpdatePokemonTeamList(); if (pokemonTeams.Count < pokemonTeamId || pokemonTeams[pokemonTeamId - 1].SixthPokemonId != null) { return(this.RedirectToAction("PokemonTeams", "User")); } else { PokemonTeam pokemonTeam = pokemonTeams[pokemonTeamId - 1]; List <Pokemon> pokemonList = this.FillPokemonList(pokemonTeam); CreateTeamPokemonViewModel model = new CreateTeamPokemonViewModel() { AllPokemon = pokemonList, AllNatures = this.dataService.GetObjects <Nature>("Name"), NatureId = this.dataService.GetObjectByPropertyValue <Nature>("Name", "Serious").Id, GameId = pokemonTeam.GameId, Level = 100, Happiness = 255, }; return(this.View(model)); } }
/// <summary> /// Creates a pokemon team from a string in Pokemon Showndown's export format. /// </summary> /// <param name="importedTeam">The pokemon string in Pokemon Showdown's export format.</param> /// <param name="userId">The id of the user.</param> private void CreateTeamFromImport(string importedTeam, int userId) { string teamName = importedTeam.Split("===\r\n")[0]; string pokemonString; if (teamName.IndexOf("===") != -1) { teamName = string.Concat(teamName, "==="); int teamNameStart = teamName.IndexOf("] "); if (teamNameStart == -1) { teamNameStart = 4; } else { teamNameStart += 2; } int teamNameTo = teamName.LastIndexOf(" ==="); teamName = teamName.Substring(teamNameStart, teamNameTo - teamNameStart); pokemonString = string.Concat("\r\n", importedTeam.Split("===\r\n")[1]); } else { teamName = "Import From Pokemon Showdown"; pokemonString = importedTeam; } PokemonTeam pokemonTeam = new PokemonTeam() { PokemonTeamName = teamName, UserId = userId, }; List <string> pokemonList = pokemonString.Split("\r\n\r\n").ToList(); List <string> filteredPokemonList = new List <string>(); foreach (var p in pokemonList) { if (!string.IsNullOrEmpty(p) && filteredPokemonList.Count < 6) { filteredPokemonList.Add(p); } } // Used to ensure that there are no issues when creating the pokemon detail. List <PokemonTeamDetailViewModel> pokemonDetailList = new List <PokemonTeamDetailViewModel>(); foreach (var p in filteredPokemonList) { pokemonDetailList.Add(this.CreatePokemonDetailFromImport(p)); } foreach (var p in pokemonDetailList) { if (p.EVs != null) { p.PokemonTeamEVId = this.dataService.AddPokemonTeamEV(p.EVs); } if (p.IVs != null) { p.PokemonTeamIVId = this.dataService.AddPokemonTeamIV(p.IVs); } if (p.Moveset != null) { p.PokemonTeamMovesetId = this.dataService.AddPokemonTeamMoveset(p.Moveset); } int pokemonId = this.dataService.AddPokemonTeamDetail(p); pokemonTeam.InsertPokemon(this.dataService.GetPokemonTeamDetail(pokemonId)); } string generationId = importedTeam.Split("===\r\n")[0]; this.dataService.FillPokemonTeam(pokemonTeam); List <Game> availableGames = this.dataService.GetAvailableGames(pokemonTeam); if (generationId.IndexOf("[gen") != -1) { int generationStart = generationId.IndexOf(" ["); int generationEnd = generationId.IndexOf("] "); generationId = generationId.Substring(generationStart, generationEnd - generationStart); int genId = Convert.ToInt32(System.Text.RegularExpressions.Regex.Replace(generationId, "[^0-9]+", string.Empty)); if (availableGames.Find(x => x.Id == genId) != null) { pokemonTeam.GameId = availableGames.Last(x => x.GenerationId == genId).Id; } else { pokemonTeam.GameId = availableGames.Last().Id; } } else { Game newestGame = availableGames.Last(); pokemonTeam.GameId = newestGame.Id; } if (pokemonTeam.FirstPokemon != null) { pokemonTeam.FirstPokemon = null; } if (pokemonTeam.SecondPokemon != null) { pokemonTeam.SecondPokemon = null; } if (pokemonTeam.ThirdPokemon != null) { pokemonTeam.ThirdPokemon = null; } if (pokemonTeam.FourthPokemon != null) { pokemonTeam.FourthPokemon = null; } if (pokemonTeam.FifthPokemon != null) { pokemonTeam.FifthPokemon = null; } if (pokemonTeam.SixthPokemon != null) { pokemonTeam.SixthPokemon = null; } this.dataService.AddPokemonTeam(pokemonTeam); }
public bool HasAvailablePokemon() => PokemonTeam .Where(w => !w.Fainted).Any();
public IPokemon GetCurrentPokemon() => PokemonTeam.FirstOrDefault(pkmn => pkmn.Current)?.Pokemon;
private List <PokemonTeam> loadTestTeams() { List <PokemonTeam> tt = new List <PokemonTeam>(); #region oldSetup /* * PokemonTeam t1 = new PokemonTeam(); * PokemonTeam t2 = new PokemonTeam(); * PokemonTeam t3 = new PokemonTeam(); * PokemonTeam t4 = new PokemonTeam(); * PokemonTeam t5 = new PokemonTeam(); * PokemonTeam t6 = new PokemonTeam(); * Pokemon p1 = new Pokemon(); * Pokemon p2 = new Pokemon(); * Pokemon p3 = new Pokemon(); * p1.setUp("Salazzle;Fire,Poison;Fire,Dragon,Bug,Poison"); * p2.setUp("Arcanine;Fire;Normal,Fire,Electric,Dark"); * p3.setUp("Delphox;Fire,Psychic;Ghost,Fire,Psychic,Fairy"); * t1.setMembers(p1, p2, p3); * p1.setUp("Charizard;Fire,Flying;Fire,Dragon,Flying,Dark"); * p2.setUp("Typhlosion;Fire;Fire,Normal,Electric,Psychic"); * p3.setUp("Rapidash;Fire;Bug,Fire,Flying,Normal"); * t2.setMembers(p1, p2, p3); * p1.setUp("Infernape;Fire,Fight;Fire,Fight,Ground,Rock"); * p2.setUp("Houndoom;Fire,Dark;Fire,Dark,Ghost,Poison"); * p3.setUp("Lycanroc;Rock;Dark,Normal,Rock"); * t3.setMembers(p1, p2, p3); * p1.setUp("Krookodile;Ground,Dark;Dark,Ground,Poison,Fight"); * p2.setUp("Archeops;Rock,Flying;Dragon,Ground,Rock,Flying"); * p3.setUp("Rapidash;Fire;Bug,Fire,Flying,Normal"); * t4.setMembers(p1, p2, p3); * p1.setUp("Chandelure;Ghost,Fire;Psychic,Ghost,Fire,Dark"); * p2.setUp("Nidoking;Poison,Ground;Ground,Ice,Electric,Poison"); * p3.setUp("Magmortar;Fire;Fire,Psychic,Normal,Steel"); * t5.setMembers(p1, p2, p3); * p1.setUp("Porygon-Z;Normal;Electric,Normal,Ghost,Dark"); * p2.setUp("Pyroar;Fire,Normal;Normal,Fire,Electric,Dark"); * p3.setUp("Gardevoir;Psychic,Fairy;Fairy,Psychic,Ghost,Fight"); * t6.setMembers(p1, p2, p3); * tt.Add(t6); * tt.Add(t5); * tt.Add(t4); * tt.Add(t3); * tt.Add(t2); * tt.Add(t1); */ #endregion Console.Write("\nSetting up test teams"); string[] setupString; setupString = System.IO.File.ReadAllText("configfiles/testTeams.txt").Split('\n'); for (int i = 0; i < setupString.Length; i++) { PokemonTeam pt = new PokemonTeam(); Pokemon[] p = new Pokemon[3]; string[] substring = setupString[i].Split(';'); for (int j = 0; j < substring.Length; j++) { foreach (Pokemon pN in pokeDex) { if (pN.getName() == substring[j]) { p[j] = pN; } } } pt.setMembers(p[0], p[1], p[2]); tt.Add(pt); // Console.Write("\nAdded: " + p[0].getName() + " " + p[1].getName() + " " + p[2].getName() + " to test teams!"); } return(tt); }