Exemplo n.º 1
0
        static void Main(string[] args)
        {
            var trainers = new List <Trainer>();

            while (true)
            {
                var input = Console.ReadLine()
                            .Split(" ", StringSplitOptions.RemoveEmptyEntries).ToArray();

                if (input[0] == "Tournament")
                {
                    break;
                }

                string TrainerName    = input[0];
                string PokemonName    = input[1];
                string PokemonElement = input[2];
                int    PokemonHealth  = int.Parse(input[3]);


                if (!trainers.Any(x => x.Name == TrainerName))
                {
                    trainers.Add(new Trainer(TrainerName));
                }


                Trainer trainer = trainers.First(t => t.Name == TrainerName);

                trainer.Pokemons.Add(new Pokemon(PokemonName, PokemonElement, PokemonHealth));
            }

            while (true)
            {
                var checkElement = Console.ReadLine();
                if (checkElement == "End")
                {
                    break;
                }
                foreach (var trainer in trainers)
                {
                    if (trainer.Pokemons.Any(p => p.Element == checkElement))
                    {
                        trainer.IncreseBadges();
                    }
                    else
                    {
                        trainer.ReducePokemonHealth();
                        trainer.RemoveDead();
                    }
                }
            }

            foreach (var trainer in trainers.OrderByDescending(t => t.NumBadges))
            {
                Console.WriteLine($"{trainer.Name} {trainer.NumBadges} {trainer.Pokemons.Count}");
            }
        }
Exemplo n.º 2
0
        private static void Main(string[] args)
        {
            List <Trainer> trainers = new List <Trainer>();

            string lines;

            while ((lines = Console.ReadLine()) != "Tournament")
            {
                string[] tokens = lines.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);

                string trainerName    = tokens[0];
                string pokemonName    = tokens[1];
                string pokemonElement = tokens[2];
                int    pokemonHealth  = int.Parse(tokens[3]);

                if (trainers.Any(t => t.Name == trainerName) == false)
                {
                    Trainer trainerInfo = new Trainer(trainerName);
                    trainers.Add(trainerInfo);
                }

                Trainer trainer     = trainers.First(t => t.Name == trainerName);
                Pokemon pokemonInfo = new Pokemon(pokemonName, pokemonElement, pokemonHealth);
                trainer.AddPokemon(pokemonInfo);
            }

            while ((lines = Console.ReadLine()) != "End")
            {
                foreach (var trainer in trainers)
                {
                    string element = lines;
                    if (trainer.Pokemons.Any(p => p.Element == element))
                    {
                        trainer.IncreaseBadges();
                    }
                    else
                    {
                        trainer.ReducePokemonsHealth();
                        trainer.RemoveDead();
                    }
                }
            }

            foreach (var trainer in trainers.OrderByDescending(t => t.Badges))
            {
                Console.WriteLine(trainer);
            }
        }
Exemplo n.º 3
0
        static void Main(string[] args)
        {
            List <Trainer> trainers = new List <Trainer>();
            string         command;

            while ((command = Console.ReadLine()) != "Tournament")
            {
                var tokens = command.Split(' ', StringSplitOptions.RemoveEmptyEntries);

                string trainerName    = tokens[0];
                string pokemonName    = tokens[1];
                string pokemonElement = tokens[2];
                int    pokemonHealth  = int.Parse(tokens[3]);

                if (!trainers.Any(t => t.Name == trainerName))
                {
                    trainers.Add(new Trainer(trainerName));
                }

                Trainer trainer = trainers.First(t => t.Name == trainerName);

                trainer.AddPokemon(new Pokemon(pokemonName, pokemonElement, pokemonHealth));
            }

            while ((command = Console.ReadLine()) != "End")
            {
                foreach (var trainer in trainers)
                {
                    if (trainer.Pokemons.Any(p => p.Element == command))
                    {
                        trainer.IncreaseBadges();
                    }
                    else
                    {
                        trainer.ReducePokemonsHealth();
                        trainer.RemoveDead();
                    }
                }
            }

            trainers
            .OrderByDescending(t => t.Badges)
            .ToList()
            .ForEach(Console.WriteLine);
        }