ewalkowka

rpg giganci

Apr 14th, 2023
704
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.62 KB | None | 0 0
  1. Plik Hero.cs
  2. public class Hero
  3. {
  4. public int Hp;
  5. public string Nazwa;
  6. public int Atak;
  7. public Hero(string nazwa, int hp, int atak)
  8. {
  9. Nazwa = nazwa;
  10. Hp = hp;
  11. Atak = atak;
  12. }
  13. public void WyswietlStatystyki()
  14. {
  15. Console.WriteLine($"Postać {Nazwa} posiada {Hp} życia i {Atak} pkt ataku.");
  16.  
  17. Console.WriteLine();
  18. }
  19. }
  20.  
  21. Plik Wojownik.cs
  22. public class Wojownik : Hero
  23. {
  24. public int Obrona;
  25. public Wojownik(string nazwa, int hp, int atak, int obrona)
  26. : base(nazwa, hp, atak)
  27. {
  28. Obrona = obrona;
  29. }
  30. public void OdejmijHp(int atak)
  31. {
  32. Hp -= atak - (Obrona / 3);
  33. }
  34. public int PobierzSileAtaku()
  35. {
  36. return Atak;
  37. }
  38. }
  39. Plik Mag.cs
  40. public class Mag : Hero
  41. {
  42. public int Moc;
  43. public Mag(string nazwa, int hp, int atak, int moc)
  44. : base(nazwa, hp, atak)
  45. {
  46. Moc = moc;
  47. }
  48. public void OdejmijHp(int atak)
  49. {
  50. Hp -= atak;
  51. }
  52. public int PobierzSileAtaku()
  53. {
  54. return Atak + (Moc / 5);
  55. }
  56. }
  57. Plik GeneratorPostaci.cs
  58. public class GeneratorPostaci
  59. {
  60. private Random LiczbyLosowe;
  61. private List<string> Imiona;
  62. public GeneratorPostaci()
  63.  
  64. {
  65. LiczbyLosowe = new Random();
  66. Imiona = new List<string>();
  67. Imiona.Add("Vladimir");
  68. Imiona.Add("Nieznajomy");
  69. Imiona.Add("Max");
  70. Imiona.Add("Veigar");
  71. Imiona.Add("Gerard");
  72. }
  73. public Mag GenerujMaga()
  74. {
  75. int hp = LiczbyLosowe.Next(150, 300);
  76. int atak = LiczbyLosowe.Next(5, 15);
  77. string imie = Imiona[LiczbyLosowe.Next(0, Imiona.Count)];
  78. Imiona.Remove(imie);
  79. Mag mag = new Mag(imie, hp, atak, 10);
  80. return mag;
  81. }
  82. public Wojownik GenerujWojownika()
  83. {
  84. int hp = LiczbyLosowe.Next(150, 300);
  85. int atak = LiczbyLosowe.Next(5, 15);
  86. string imie = Imiona[LiczbyLosowe.Next(0, Imiona.Count)];
  87. Imiona.Remove(imie);
  88. Wojownik wojownik = new Wojownik(imie, hp, atak, 5);
  89. return wojownik;
  90. }
  91. }
  92. Plik Program.cs
  93. class Program
  94. {
  95. static void Main(string[] args)
  96. {
  97. GeneratorPostaci generatorPostaci = new GeneratorPostaci();
  98. Console.WriteLine("Witaj w grze Wojownik vs Magowie");
  99. // tworzymy gracza i przeciwnika
  100. Wojownik gracz = generatorPostaci.GenerujWojownika();
  101. Mag przeciwnik = generatorPostaci.GenerujMaga();
  102. Console.WriteLine("Na swojej drodze spotkałeś przeciwnika.");
  103. przeciwnik.WyswietlStatystyki();
  104. Console.WriteLine("Czy chcesz zaatakować (wpisz: atak) czy uciekać (wpisz:
  105. ucieczka)");
  106. string odp = Console.ReadLine();
  107. if (odp != "atak")
  108. {
  109. Console.WriteLine("Uciekasz....");
  110.  
  111. Console.ReadKey();
  112. return;
  113. }
  114. Console.WriteLine("Do ataku !!!");
  115. // walka toczy się dopóki życie któregoś z graczy nie spadnie poniżej zera
  116. while (gracz.Hp >= 0 && przeciwnik.Hp >= 0)
  117. {
  118. // przeciwnik atakuje
  119. Console.WriteLine($"Gracz {przeciwnik.Nazwa} atakuje.");
  120. int atakPrzeciwnika = przeciwnik.PobierzSileAtaku();
  121. gracz.OdejmijHp(atakPrzeciwnika);
  122. Console.WriteLine($"Pozostało Ci {gracz.Hp} życia.\n");
  123. // sprawdzamy czy po ataku czasem nie zginęliśmy
  124. // jeżeli tak to kończymy walkę
  125. if (gracz.Hp <= 0)
  126. break;
  127. // zatrzymujemy na pół sekundy program dla ciekawszego efektu
  128. System.Threading.Thread.Sleep(500);
  129. // my atakujemy
  130. Console.WriteLine($"Gracz {gracz.Nazwa} atakuje.");
  131. int atakGracza = gracz.PobierzSileAtaku();
  132. przeciwnik.OdejmijHp(atakGracza);
  133. Console.WriteLine($"Przeciwnikowi zostało {przeciwnik.Hp} życia.\n");
  134. // sprawdzamy czy po ataku czasem nie pokonaliśmy wroga
  135. // jeżeli tak to kończymy walkę
  136. if (przeciwnik.Hp <= 0)
  137. break;
  138. // zatrzymujemy na pół sekundy program dla ciekawszego efektu
  139. System.Threading.Thread.Sleep(500);
  140. }
  141. if (gracz.Hp <= 0)
  142. {
  143. Console.WriteLine($"Niestety zostałeś pokonany. Przeciwnik {przeciwnik.Nazwa}
  144. wygrał.");
  145. }
  146. else
  147. {
  148. Console.WriteLine($"Gratulację. Pokonałeś przeciwnika {przeciwnik.Nazwa}");
  149. }
  150. Console.ReadKey();
  151. }
  152. }
Advertisement
Add Comment
Please, Sign In to add comment