public void OpenMainMenu() { ViewModels.MenuViewModel menuViewModel = new ViewModels.MenuViewModel(_windowManager); menuViewModel.WillOpenSetup = false; Dictionary <string, object> settings = new Dictionary <string, object>(); settings.Add("WindowStartupLocation", WindowStartupLocation.CenterOwner); settings.Add("WindowStyle", WindowStyle.ThreeDBorderWindow); settings.Add("ResizeMode", System.Windows.ResizeMode.NoResize); settings.Add("Height", 300); settings.Add("Width", 400); settings.Add("ShowInTaskbar", false); settings.Add("Title", "Menu"); Uri iconUri = new Uri("pack://application:,,,/Images/FirePokemon/Charizard.ico", UriKind.Absolute); settings.Add("Icon", BitmapFrame.Create(iconUri)); bool?startNewGame = _windowManager.ShowDialog(menuViewModel, null, settings); if (startNewGame != null && startNewGame.Value) { if (menuViewModel.WillOpenSetup) { ViewModels.SetupViewModel setupViewModel = new ViewModels.SetupViewModel(_windowManager); setupViewModel.BlackTeamType = this.BlackTeamType; setupViewModel.WhiteTeamType = this.WhiteTeamType; Dictionary <string, object> setupSettings = new Dictionary <string, object>(); setupSettings.Add("WindowStartupLocation", WindowStartupLocation.CenterOwner); setupSettings.Add("WindowStyle", WindowStyle.ThreeDBorderWindow); setupSettings.Add("ResizeMode", System.Windows.ResizeMode.NoResize); setupSettings.Add("Height", 300); setupSettings.Add("Width", 400); setupSettings.Add("ShowInTaskbar", false); setupSettings.Add("Title", "Menu"); Uri setupIconUri = new Uri("pack://application:,,,/Images/FirePokemon/Charizard.ico", UriKind.Absolute); setupSettings.Add("Icon", BitmapFrame.Create(iconUri)); bool?closeClicked = _windowManager.ShowDialog(setupViewModel, null, setupSettings); if (closeClicked != null && closeClicked.Value) { this.BlackTeamType = setupViewModel.BlackTeamType; this.WhiteTeamType = setupViewModel.WhiteTeamType; } OpenMainMenu(); } else { CurrentGame = new Game(this.WhiteTeamType, this.BlackTeamType); NotifyOfPropertyChange(() => CurrentGame); } } else { if (this.CurrentGame != null) { this.CurrentGame.IsSaved = true; } } }
public Team(Enums.BlackOrWhite teamColor, Enums.TeamType pokeType) { this.Side = teamColor; this.PokemonType = pokeType; this.Pieces = SetPieces(teamColor, pokeType); this.CanCastleLeft = true; this.CanCastleRight = true; }
public Board(BindableCollection <String> importedStrings, Enums.TeamType blackType, Enums.TeamType whiteType) { this.BoardPieceCollection = new BindableCollection <IPiece>(); this.MoveableSpaces = new BindableCollection <Location>(); foreach (String pokemonData in importedStrings) { string[] pokemonDataPieces = pokemonData.Split(' '); this.BoardPieceCollection.Add(General.GetPieceInstanceFromString(pokemonDataPieces[0], Int32.Parse(pokemonDataPieces[1]), blackType, whiteType)); } }
private List <IPiece> SetPieces(Enums.BlackOrWhite teamColor, Enums.TeamType pokeType) { List <IPiece> returnList = new List <IPiece>(); switch (pokeType) { case Enums.TeamType.Fire: for (int x = 0; x < 8; x++) { returnList.Add(new Vulpix(teamColor, (Enums.BoardColumns)x)); } returnList.Add(new Arcanine(teamColor, Enums.BoardColumns.A)); returnList.Add(new Rapidash(teamColor, Enums.BoardColumns.B)); returnList.Add(new Magmar(teamColor, Enums.BoardColumns.C)); returnList.Add(new Ninetails(teamColor)); returnList.Add(new Charizard(teamColor)); returnList.Add(new Magmar(teamColor, Enums.BoardColumns.F)); returnList.Add(new Rapidash(teamColor, Enums.BoardColumns.G)); returnList.Add(new Arcanine(teamColor, Enums.BoardColumns.H)); break; case Enums.TeamType.Water: for (int x = 0; x < 8; x++) { returnList.Add(new Magikarp(teamColor, (Enums.BoardColumns)x)); } returnList.Add(new Poliwrath(teamColor, Enums.BoardColumns.A)); returnList.Add(new Seadra(teamColor, Enums.BoardColumns.B)); returnList.Add(new Golduck(teamColor, Enums.BoardColumns.C)); returnList.Add(new Lapras(teamColor)); returnList.Add(new Blastoise(teamColor)); returnList.Add(new Golduck(teamColor, Enums.BoardColumns.F)); returnList.Add(new Seadra(teamColor, Enums.BoardColumns.G)); returnList.Add(new Poliwrath(teamColor, Enums.BoardColumns.H)); break; case Enums.TeamType.Grass: for (int x = 0; x < 8; x++) { returnList.Add(new Oddish(teamColor, (Enums.BoardColumns)x)); } returnList.Add(new Victreebell(teamColor, Enums.BoardColumns.A)); returnList.Add(new Tangela(teamColor, Enums.BoardColumns.B)); returnList.Add(new Exeggutor(teamColor, Enums.BoardColumns.C)); returnList.Add(new Vileplume(teamColor)); returnList.Add(new Venusaur(teamColor)); returnList.Add(new Exeggutor(teamColor, Enums.BoardColumns.F)); returnList.Add(new Tangela(teamColor, Enums.BoardColumns.G)); returnList.Add(new Victreebell(teamColor, Enums.BoardColumns.H)); break; case Enums.TeamType.Poison: for (int x = 0; x < 8; x++) { returnList.Add(new Grimer(teamColor, (Enums.BoardColumns)x)); } returnList.Add(new Gengar(teamColor, Enums.BoardColumns.A)); returnList.Add(new Weezing(teamColor, Enums.BoardColumns.B)); returnList.Add(new Arbok(teamColor, Enums.BoardColumns.C)); returnList.Add(new Nidoqueen(teamColor)); returnList.Add(new Nidoking(teamColor)); returnList.Add(new Arbok(teamColor, Enums.BoardColumns.F)); returnList.Add(new Weezing(teamColor, Enums.BoardColumns.G)); returnList.Add(new Gengar(teamColor, Enums.BoardColumns.H)); break; default: break; } return(returnList); }
public static IPiece GetPieceInstanceFromString(String pokemonName, int arrayLocation, Enums.TeamType blackType, Enums.TeamType whiteType) { switch (pokemonName) { case PokemonNames.Arcanine: if (blackType == Enums.TeamType.Fire) { return(new Arcanine(Enums.BlackOrWhite.Black, arrayLocation)); } else if (whiteType == Enums.TeamType.Fire) { return(new Arcanine(Enums.BlackOrWhite.White, arrayLocation)); } break; case PokemonNames.Vulpix: if (blackType == Enums.TeamType.Fire) { return(new Vulpix(Enums.BlackOrWhite.Black, arrayLocation)); } else if (whiteType == Enums.TeamType.Fire) { return(new Vulpix(Enums.BlackOrWhite.White, arrayLocation)); } break; case PokemonNames.Ninetails: if (blackType == Enums.TeamType.Fire) { return(new Ninetails(Enums.BlackOrWhite.Black, arrayLocation)); } else if (whiteType == Enums.TeamType.Fire) { return(new Ninetails(Enums.BlackOrWhite.White, arrayLocation)); } break; case PokemonNames.Charizard: if (blackType == Enums.TeamType.Fire) { return(new Charizard(Enums.BlackOrWhite.Black, arrayLocation)); } else if (whiteType == Enums.TeamType.Fire) { return(new Charizard(Enums.BlackOrWhite.White, arrayLocation)); } break; case PokemonNames.Magmar: if (blackType == Enums.TeamType.Fire) { return(new Magmar(Enums.BlackOrWhite.Black, arrayLocation)); } else if (whiteType == Enums.TeamType.Fire) { return(new Magmar(Enums.BlackOrWhite.White, arrayLocation)); } break; case PokemonNames.Rapidash: if (blackType == Enums.TeamType.Fire) { return(new Rapidash(Enums.BlackOrWhite.Black, arrayLocation)); } else if (whiteType == Enums.TeamType.Fire) { return(new Rapidash(Enums.BlackOrWhite.White, arrayLocation)); } break; case PokemonNames.Venusaur: if (blackType == Enums.TeamType.Grass) { return(new Venusaur(Enums.BlackOrWhite.Black, arrayLocation)); } else if (whiteType == Enums.TeamType.Grass) { return(new Venusaur(Enums.BlackOrWhite.White, arrayLocation)); } break; case PokemonNames.Victreebell: if (blackType == Enums.TeamType.Grass) { return(new Victreebell(Enums.BlackOrWhite.Black, arrayLocation)); } else if (whiteType == Enums.TeamType.Grass) { return(new Victreebell(Enums.BlackOrWhite.White, arrayLocation)); } break; case PokemonNames.Oddish: if (blackType == Enums.TeamType.Grass) { return(new Oddish(Enums.BlackOrWhite.Black, arrayLocation)); } else if (whiteType == Enums.TeamType.Grass) { return(new Oddish(Enums.BlackOrWhite.White, arrayLocation)); } break; case PokemonNames.Tangela: if (blackType == Enums.TeamType.Grass) { return(new Tangela(Enums.BlackOrWhite.Black, arrayLocation)); } else if (whiteType == Enums.TeamType.Grass) { return(new Tangela(Enums.BlackOrWhite.White, arrayLocation)); } break; case PokemonNames.Exeggutor: if (blackType == Enums.TeamType.Grass) { return(new Exeggutor(Enums.BlackOrWhite.Black, arrayLocation)); } else if (whiteType == Enums.TeamType.Grass) { return(new Exeggutor(Enums.BlackOrWhite.White, arrayLocation)); } break; case PokemonNames.Vileplume: if (blackType == Enums.TeamType.Grass) { return(new Vileplume(Enums.BlackOrWhite.Black, arrayLocation)); } else if (whiteType == Enums.TeamType.Grass) { return(new Vileplume(Enums.BlackOrWhite.White, arrayLocation)); } break; case PokemonNames.Grimer: if (blackType == Enums.TeamType.Poison) { return(new Grimer(Enums.BlackOrWhite.Black, arrayLocation)); } else if (whiteType == Enums.TeamType.Poison) { return(new Grimer(Enums.BlackOrWhite.White, arrayLocation)); } break; case PokemonNames.Weezing: if (blackType == Enums.TeamType.Poison) { return(new Weezing(Enums.BlackOrWhite.Black, arrayLocation)); } else if (whiteType == Enums.TeamType.Poison) { return(new Weezing(Enums.BlackOrWhite.White, arrayLocation)); } break; case PokemonNames.Arbok: if (blackType == Enums.TeamType.Poison) { return(new Arbok(Enums.BlackOrWhite.Black, arrayLocation)); } else if (whiteType == Enums.TeamType.Poison) { return(new Arbok(Enums.BlackOrWhite.White, arrayLocation)); } break; case PokemonNames.Gengar: if (blackType == Enums.TeamType.Poison) { return(new Gengar(Enums.BlackOrWhite.Black, arrayLocation)); } else if (whiteType == Enums.TeamType.Poison) { return(new Gengar(Enums.BlackOrWhite.White, arrayLocation)); } break; case PokemonNames.Nidoking: if (blackType == Enums.TeamType.Poison) { return(new Nidoking(Enums.BlackOrWhite.Black, arrayLocation)); } else if (whiteType == Enums.TeamType.Poison) { return(new Nidoking(Enums.BlackOrWhite.White, arrayLocation)); } break; case PokemonNames.Nidoqueen: if (blackType == Enums.TeamType.Poison) { return(new Nidoqueen(Enums.BlackOrWhite.Black, arrayLocation)); } else if (whiteType == Enums.TeamType.Poison) { return(new Nidoqueen(Enums.BlackOrWhite.White, arrayLocation)); } break; case PokemonNames.Seadra: if (blackType == Enums.TeamType.Water) { return(new Seadra(Enums.BlackOrWhite.Black, arrayLocation)); } else if (whiteType == Enums.TeamType.Water) { return(new Seadra(Enums.BlackOrWhite.White, arrayLocation)); } break; case PokemonNames.Poliwrath: if (blackType == Enums.TeamType.Water) { return(new Poliwrath(Enums.BlackOrWhite.Black, arrayLocation)); } else if (whiteType == Enums.TeamType.Water) { return(new Poliwrath(Enums.BlackOrWhite.White, arrayLocation)); } break; case PokemonNames.Lapras: if (blackType == Enums.TeamType.Water) { return(new Lapras(Enums.BlackOrWhite.Black, arrayLocation)); } else if (whiteType == Enums.TeamType.Water) { return(new Lapras(Enums.BlackOrWhite.White, arrayLocation)); } break; case PokemonNames.Magikarp: if (blackType == Enums.TeamType.Water) { return(new Magikarp(Enums.BlackOrWhite.Black, arrayLocation)); } else if (whiteType == Enums.TeamType.Water) { return(new Magikarp(Enums.BlackOrWhite.White, arrayLocation)); } break; case PokemonNames.Golduck: if (blackType == Enums.TeamType.Water) { return(new Golduck(Enums.BlackOrWhite.Black, arrayLocation)); } else if (whiteType == Enums.TeamType.Water) { return(new Golduck(Enums.BlackOrWhite.White, arrayLocation)); } break; case PokemonNames.Blastoise: if (blackType == Enums.TeamType.Water) { return(new Blastoise(Enums.BlackOrWhite.Black, arrayLocation)); } else if (whiteType == Enums.TeamType.Water) { return(new Blastoise(Enums.BlackOrWhite.White, arrayLocation)); } break; default: break; } return(null); }