コード例 #1
0
        public void StartBattle()
        {
            List <PlayerPokedex> playerPokedexList = null;
            PlayerPokedex        entry;

            playerPokedexList = DatabaseOperations.GetPlayerPokedexEntries(PlayerInformation.PlayerId);

            entry = new PlayerPokedex
            {
                PokedexId   = enemyPokemon.PokedexId,
                PlayerId    = PlayerInformation.PlayerId,
                Caught      = false,
                Encountered = true
            };

            if (!playerPokedexList.Contains(entry))
            {
                DatabaseOperations.AddCaughtPlayerPokedex(entry);
            }


            btnEnemyTurn.Visibility = Visibility.Visible;
            txtInformation.Text     = "A new battle has started!" + Environment.NewLine;


            if (enemyPokemon.CalculatedSpeed > playerPokemon.Pokemon.CalculatedSpeed)
            {
                txtInformation.Text   += $"the enemy {enemyPokemon.Pokedex.Name} is faster and attacks first{Environment.NewLine}";
                btnEnemyTurn.IsEnabled = true;
                btnBag.IsEnabled       = false;
                btnRun.IsEnabled       = false;
                btnFight.IsEnabled     = false;
                btnPokemon.IsEnabled   = false;

                txtInformation.Text += Environment.NewLine + "It is the enemy pokemon's turn!" + Environment.NewLine;
            }
            else
            {
                btnEnemyTurn.IsEnabled = false;
                btnBag.IsEnabled       = true;
                btnRun.IsEnabled       = true;
                btnFight.IsEnabled     = true;
                btnPokemon.IsEnabled   = true;

                txtInformation.Text += $"Your {playerPokemon.Name} is faster and attacks first{Environment.NewLine}";
            }
        }
コード例 #2
0
        private void BtnConfirm_Click(object sender, RoutedEventArgs e)
        {
            Player        player        = new Player();
            PlayerPokemon playerPokemon = new PlayerPokemon();

            player.Name        = txtPlayerName.Text;
            playerPokemon.Name = txtRenamePokemon.Text;



            if (player.IsGeldig() && playerPokemon.IsGeldig() && PokemonSelected() != false)
            {
                TimeSpan startTime = new TimeSpan(0, 0, 0);


                player.Pokedollar = 10000;
                player.PlayedTime = startTime;

                int ok = DatabaseOperations.AddPlayer(player);

                Random r = new Random();

                PlayerPokedex playerPokedex = new PlayerPokedex();

                int id = 0;

                playerPokedex.PlayerId = player.Id;

                if (tbBulbasaur.IsChecked == true)
                {
                    playerPokemon.Height = 0.7m;
                    playerPokemon.Weight = 6.9m;
                    id = 1;
                    playerPokedex.Caught      = true;
                    playerPokedex.Encountered = true;
                    playerPokedex.PokedexId   = id;
                }
                else if (tbCharmander.IsChecked == true)
                {
                    playerPokemon.Height = 0.6m;
                    playerPokemon.Weight = 8.5m;
                    id = 4;
                    playerPokedex.Caught      = true;
                    playerPokedex.Encountered = true;
                    playerPokedex.PokedexId   = id;
                }
                else if (tbSquirtle.IsChecked == true)
                {
                    playerPokemon.Height = 0.5m;
                    playerPokemon.Weight = 9;
                    id = 7;
                    playerPokedex.Caught      = true;
                    playerPokedex.Encountered = true;
                    playerPokedex.PokedexId   = id;
                }



                DatabaseOperations.AddNewPokemonPlayerPokedex(playerPokedex);


                pokemon = new Pokemon
                {
                    Level          = 7,
                    Hp             = r.Next(0, 32),
                    CurrentHp      = 0,
                    Defense        = r.Next(0, 32),
                    Attack         = r.Next(0, 32),
                    SpecialAttack  = r.Next(0, 32),
                    SpecialDefense = r.Next(0, 32),
                    Speed          = r.Next(0, 32),
                    PokedexId      = id,
                };

                playerPokemon.PokemonId = DatabaseOperations.AddPokemon(pokemon);

                pokemon.Pokedex = DatabaseOperations.GetPokedexEntry(id);
                pokemon.SetMaxHp();
                pokemon.CurrentHp = pokemon.CalculatedMaxHP;

                DatabaseOperations.UpdatePokemonCurrentHp(pokemon);



                playerPokemon.InParty  = true;
                playerPokemon.PlayerId = player.Id;
                playerPokemon.Xp       = Convert.ToInt32(Math.Pow(pokemon.Level - 1, 3));

                DatabaseOperations.AddPlayerPokemon(playerPokemon);

                List <PokemonAttack> pokemonAttacks = DatabaseOperations.GetAvailableAttacks(pokemon.PokedexId, pokemon.Level);

                foreach (var item in pokemonAttacks)
                {
                    if (pokemon.Level >= item.RequiredLevel)
                    {
                        OwnedPokemonAttack ownedPokemonAttack = new OwnedPokemonAttack
                        {
                            AttackId    = item.AttackId,
                            CurrentPp   = item.Attack.Pp,
                            PokemonId   = playerPokemon.PokemonId,
                            KnownAttack = true
                        };
                        DatabaseOperations.AddCaughtPokemonAttacks(ownedPokemonAttack);
                    }
                }

                PlayerInformation.PlayerId = ok;

                MainMenuWindow mainMenuWindow = new MainMenuWindow();
                mainMenuWindow.Show();
                this.Close();
            }
            else if (!player.IsGeldig())
            {
                MessageBox.Show(player.Error);
            }
            else if (!playerPokemon.IsGeldig())
            {
                MessageBox.Show(playerPokemon.Error);
            }
            else
            {
                MessageBox.Show("You need to select a pokemon first.");
            }
        }
コード例 #3
0
        private bool PokemonEvolve()
        {
            if (playerPokemon.Pokemon.Pokedex.EvolveLevel != null)
            {
                if (playerPokemon.Pokemon.Level >= playerPokemon.Pokemon.Pokedex.EvolveLevel)
                {
                    txtInformation.Text += $"{Environment.NewLine}It seems like your {playerPokemon.Pokemon.Pokedex.Name} has evolved into a ";

                    PlayerPokemonStatics.PlayerPokemon = playerPokemon;

                    Pokemon name = playerPokemon.Pokemon;

                    Pokemon evolvedPokemon = new Pokemon()
                    {
                        Id             = PlayerPokemonStatics.PlayerPokemon.Pokemon.Id,
                        Level          = playerPokemon.Pokemon.Level,
                        Hp             = playerPokemon.Pokemon.Hp,
                        CurrentHp      = playerPokemon.Pokemon.CurrentHp,
                        Attack         = playerPokemon.Pokemon.Attack,
                        Defense        = playerPokemon.Pokemon.Defense,
                        SpecialAttack  = playerPokemon.Pokemon.SpecialAttack,
                        SpecialDefense = playerPokemon.Pokemon.SpecialDefense,
                        Speed          = playerPokemon.Pokemon.Speed,
                        PokedexId      = playerPokemon.Pokemon.PokedexId + 1,
                    };

                    playerPokemon.Pokemon = evolvedPokemon;

                    DatabaseOperations.UpdatePokemonCurrentHp(playerPokemon.Pokemon);


                    evolvedPokemon.Pokedex = DatabaseOperations.GetPokedexEntry(evolvedPokemon.PokedexId);

                    if (playerPokemon.Name == name.Pokedex.Name)
                    {
                        playerPokemon.Name = evolvedPokemon.Pokedex.Name;
                    }


                    playerPokedexList = DatabaseOperations.GetPlayerPokedexEntries(PlayerInformation.PlayerId);

                    PlayerPokedex playerPokedexEntry = new PlayerPokedex
                    {
                        PlayerId    = PlayerInformation.PlayerId,
                        PokedexId   = evolvedPokemon.PokedexId,
                        Caught      = true,
                        Encountered = true
                    };


                    if (!playerPokedexList.Contains(playerPokedexEntry))
                    {
                        DatabaseOperations.AddCaughtPlayerPokedex(playerPokedexEntry);
                    }
                    else if (playerPokedexList.Contains(playerPokedexEntry))
                    {
                        foreach (var item in playerPokedexList)
                        {
                            if (item.PokedexId == playerPokedexEntry.PokedexId && item.PlayerId == playerPokedexEntry.PlayerId)
                            {
                                playerPokedexEntry.Id = item.Id;
                            }
                        }
                        DatabaseOperations.UpdatePlayerPokedex(playerPokedexEntry);
                    }

                    txtInformation.Text += playerPokemon.Pokemon.Pokedex.Name + Environment.NewLine;

                    return(true);
                }
                return(false);
            }
            return(false);
        }
コード例 #4
0
        private void BtnBag_Click(object sender, RoutedEventArgs e)
        {
            DatabaseOperations.UpdatePlayerPokemon(playerPokemon);

            InventoryWindow inventory = new InventoryWindow(playerPokemon);

            //enemyPokemon, knownAttackList,

            inventory.ShowDialog();

            PlayerPokemonStatics.PlayerPokemon = DatabaseOperations.GetPlayerPokemon(playerPokemon.Id);//LoadPlayerPokemon(playerPokemon.Id);


            PlayerPokedex entry;

            if (InventoryWindow.catchRateMultiplier > 0)
            {
                caught = Catch((InventoryWindow.catchRateMultiplier), enemyPokemon, knownAttackList);

                playerPokedexList = DatabaseOperations.GetPlayerPokedexEntries(PlayerInformation.PlayerId);
            }
            else if (inventory.cancel == false)
            {
                txtInformation.Text = $"You healed {playerPokemon.Name}";
            }


            if (caught == true)
            {
                entry = new PlayerPokedex
                {
                    PokedexId   = pokemon.PokedexId,
                    PlayerId    = PlayerInformation.PlayerId,
                    Caught      = true,
                    Encountered = true
                };

                if (!playerPokedexList.Contains(entry))
                {
                    DatabaseOperations.AddCaughtPlayerPokedex(entry);
                }
                else
                {
                    foreach (var item in playerPokedexList)
                    {
                        if (item.PokedexId == entry.PokedexId && item.PlayerId == entry.PlayerId)
                        {
                            entry.Id = item.Id;
                            break;
                        }
                    }

                    DatabaseOperations.UpdatePlayerPokedex(entry);
                }

                EndBattle();
            }
            else
            {
                if (inventory.cancel == false)
                {
                    EndPlayerTurn(false);
                }
            }

            PlayerPokemonUi();
        }