Advertisement
Guest User

Untitled

a guest
Oct 20th, 2019
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.98 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4.  
  5. namespace _9._Pokemon_Trainer_EXE
  6. {
  7. public class StartUp
  8. {
  9. static void Main(string[] args)
  10. {
  11. var setOfTrainers = new List<Trainer>();
  12. var command = string.Empty;
  13. while ((command=Console.ReadLine())!= "Tournament")
  14. {
  15. var commandInList = command.Split(' ',StringSplitOptions.RemoveEmptyEntries);
  16. var trainerName = commandInList[0];
  17. var pokemonName = commandInList[1];
  18. var pokemonElement = commandInList[2];
  19. var pokemonHealth = int.Parse(commandInList[3]);
  20.  
  21. var currentPokemon = new Pokemon(pokemonName,pokemonElement,pokemonHealth);
  22. GenerateTrainer(trainerName, setOfTrainers, currentPokemon);
  23. }
  24. var tourCommand = string.Empty;
  25. while ((tourCommand = Console.ReadLine()) != "End")
  26. {
  27. bool minusBadge = true;
  28. var currentElement = tourCommand;
  29.  
  30. ElementalMethods(setOfTrainers, minusBadge, tourCommand);
  31. }
  32. foreach (Trainer trainer in setOfTrainers.OrderByDescending(x=> x.NumberOfBadges).ThenBy(x => x.Appierence))
  33. {
  34. Console.WriteLine($"{trainer.Name} {trainer.NumberOfBadges} {trainer.CollectionOfPokemons.Count}");
  35. }
  36. }
  37.  
  38. private static void ElementalMethods(List<Trainer> setOfTrainers, bool minusBadge, string tourCommand)
  39. {
  40. foreach (Trainer trainer in setOfTrainers)
  41. {
  42. minusBadge = true;
  43. foreach (var element in trainer.CollectionOfPokemons)
  44. {
  45. if (element.Element == tourCommand)
  46. {
  47. trainer.NumberOfBadges++;
  48. minusBadge = false;
  49. break;
  50. }
  51. }
  52. if (minusBadge)
  53. {
  54. foreach (var pokemon in trainer.CollectionOfPokemons)
  55. {
  56. pokemon.Health -= 10;
  57. }
  58. //trainer.RemovePokemons();
  59. trainer.CollectionOfPokemons.RemoveAll(x => x.Health <= 0);
  60. }
  61. }
  62. }
  63. private static void GenerateTrainer(string trainerName, List<Trainer> setOfTrainers, Pokemon currentPokemon)
  64. {
  65. bool isntSame = true;
  66. foreach (Trainer trainer in setOfTrainers.Where(x=> x.Name == trainerName))
  67. {
  68. trainer.CollectionOfPokemons.Add(currentPokemon);
  69. isntSame = false;
  70. break;
  71. }
  72. if (isntSame)
  73. {
  74. var newTrainer = new Trainer(trainerName, currentPokemon);
  75. setOfTrainers.Add(newTrainer);
  76. }
  77. }
  78. }
  79. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement