//UI opvullen speler pokemon
        private void PlayerPokemonUi()
        {
            playerPokemon = PlayerPokemonStatics.PlayerPokemon;

            playerPokemonAttacks     = DatabaseOperations.GetKnownAttacks(playerPokemon.PokemonId);
            lblPlayerPokemon.Content = playerPokemon.Name + " lvl: " + playerPokemon.Pokemon.Level;

            playerPokemon.Pokemon.SetStats();

            // Hp eigen pokemon weergeven

            pbHpPlayerPokemon.Value = (playerPokemon.Pokemon.CurrentHp / Convert.ToDouble(playerPokemon.Pokemon.CalculatedMaxHP)) * 100;
            lblHpPlayer.Content     = "HP: " + playerPokemon.Pokemon.CurrentHp + "/" + playerPokemon.Pokemon.CalculatedMaxHP;

            //xp

            double xpNeeded  = Math.Pow(playerPokemon.Pokemon.Level, 3);
            double currentXp = playerPokemon.Xp;

            pbXpPlayerPokemon.Value = ((currentXp - Math.Pow(playerPokemon.Pokemon.Level - 1, 3)) /
                                       (xpNeeded - Math.Pow(playerPokemon.Pokemon.Level - 1, 3)))
                                      * 100;

            //image
            imgPlayerPokemon.Source = new BitmapImage(new Uri(@"images\sprites\" + playerPokemon.Pokemon.Pokedex.ImgReference, UriKind.Relative));
        }
Exemplo n.º 2
0
        public int LevelUpCheck(int xp, Pokemon playerPokemon)
        {
            var levelUpXp = playerPokemon.GetLevelUpXp(playerPokemon.Level);

            if (levelUpXp.Xp - xp >= 0)
            {
                return(0);
            }
            PlayerPokemon.LevelUp(playerPokemon);
            return(xp - levelUpXp.Xp);
        }
        public void AttemptToCatchPokemon(Player player)
        {
            if (EncounterOver == true)
            {
                return;
            }

            if (PokemonCatchable() == true)
            {
                Console.WriteLine($"Player caught {AIPokemon.Name}!");
                PlayerPokemon caughtPokemon = new PlayerPokemon(AIPokemon.Name, AIPokemon.HP, AIPokemon.AttackStat, AIPokemon.DefenseStat, AIPokemon.Type);
                player.AddPokemon(caughtPokemon);
                EncounterOver = true;
            }
            else
            {
                Console.WriteLine($"Player failed to catch {AIPokemon.Name}");

                Turn.AITurn(AIPokemon, PlayerPokemon);
            }
        }
 public InventoryWindow(PlayerPokemon playerPokemon)
 {
     usedPokemon         = playerPokemon;
     catchRateMultiplier = -1;
     InitializeComponent();
 }
        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.");
            }
        }
Exemplo n.º 6
0
 public LevelUpXP GetLevelUpXp()
 {
     return(PlayerPokemon.GetLevelUpXp(PlayerPokemon.Level));
 }
        private bool Catch(double catchMultiplier, Pokemon pokemon, List <OwnedPokemonAttack> attacks)
        {
            if (lblEnemyName.Content.ToString() == "Wild Pokemon")
            {
                int    catchRate      = pokemon.Pokedex.CatchRate;
                double catchMissingHp = ((100 - pbHpEnemyPokemon.Value) / 100) + 1;
                double catchNumber    = ((catchRate * catchMissingHp) * catchMultiplier);

                Random r = new Random();

                if (r.Next(0, 101) <= catchNumber)
                {
                    // pokemon object aanmaken om te inserten
                    Pokemon p = new Pokemon
                    {
                        Level          = pokemon.Level,
                        Attack         = pokemon.Attack,
                        Defense        = pokemon.Defense,
                        Hp             = pokemon.Hp,
                        CurrentHp      = pokemon.CalculatedMaxHP,
                        SpecialAttack  = pokemon.SpecialAttack,
                        SpecialDefense = pokemon.SpecialDefense,
                        Speed          = pokemon.Speed,
                        PokedexId      = pokemon.PokedexId
                    };

                    int id = DatabaseOperations.AddPokemon(p);

                    // speler pokemon aanmaken om te inserten
                    PlayerPokemon newPlayerPokemon = new PlayerPokemon
                    {
                        Name      = pokemon.Pokedex.Name,
                        Height    = pokemon.Pokedex.AvgHeight,
                        Weight    = pokemon.Pokedex.AvgWeight,
                        Xp        = (pokemon.Level - 1) * (pokemon.Level - 1) * (pokemon.Level - 1),
                        InParty   = false,
                        PlayerId  = PlayerInformation.PlayerId,
                        PokemonId = id,
                    };

                    DatabaseOperations.AddPlayerPokemon(newPlayerPokemon);

                    // pokemon aanvallen aanmaken om te inserten
                    foreach (var item in attacks)
                    {
                        OwnedPokemonAttack attack = new OwnedPokemonAttack
                        {
                            CurrentPp = item.CurrentPp,
                            PokemonId = id,
                            AttackId  = item.AttackId,
                        };
                        if (item.KnownAttack == true)
                        {
                            attack.KnownAttack = true;
                        }
                        else
                        {
                            attack.KnownAttack = false;
                        }



                        DatabaseOperations.AddCaughtPokemonAttacks(attack);
                    }

                    txtInformation.Text               = $"Congratulations , You caught a {pokemon.Pokedex.Name}!";
                    imgEnemyPokemon.Source            = new BitmapImage(new Uri(@"images\sprites\pokeball.png", UriKind.Relative));
                    imgEnemyPokemon.Width             = 50;
                    imgEnemyPokemon.Height            = 50;
                    imgEnemyPokemon.VerticalAlignment = VerticalAlignment.Center;

                    return(true);
                }
                else
                {
                    txtInformation.Text = $"{pokemon.Pokedex.Name} broke free, Try again!";

                    return(false);
                }
            }
            else
            {
                txtInformation.Text = $"You can't catch another trainer's pokemon";

                return(false);
            }
        }