//Konstruktor domyślny //Konstruktor z parametrami public Gracz(string nazwa, string obrazekNaMapie, string obrazekMowienia, int doswiadczenie, int zloto, int silaPodstawa, int zrecznoscPodstawa, int witalnoscPodstawa, int inteligencjaPodstawa, double obrazeniaPodstawa, double pancerzPodstawa, double hPPodstawa, double energiaPodstawa, double szansaNaTrafieniePodstawa, double szansaNaKrytycznePodstawa, Ekwipunek zalozonaBron, Ekwipunek zalozonyPancerz, Ekwipunek zalozonaTarcza, List<Ekwipunek> plecak, List<Zadanie> zadania) : base() { _obrazekMapa = obrazekNaMapie; _nazwa = nazwa; Zloto = zloto; ObrazekMowienia = obrazekMowienia; SilaPodstawa = silaPodstawa; ZrecznoscPodstawa = zrecznoscPodstawa; WitalnoscPodstawa = witalnoscPodstawa; InteligencjaPodstawa = inteligencjaPodstawa; ObrazeniaPodstawa = obrazeniaPodstawa; PancerzPodstawa = pancerzPodstawa; HPPodstawa = hPPodstawa; EnergiaPodstawa = energiaPodstawa; SzansaNaTrafieniePodstawa = szansaNaTrafieniePodstawa; SzansaNaKrytycznePodstawa = szansaNaKrytycznePodstawa; ZalozonaBron = zalozonaBron; ZalozonyPancerz = zalozonyPancerz; ZalozonaTarcza = zalozonaTarcza; if (plecak != null) { Plecak = new List<Ekwipunek>(plecak); } else { Plecak = new List<Ekwipunek>(); } if (zadania != null) { Zadania = new List<Zadanie>(zadania); } else { Zadania = new List<Zadanie>(); } sumaPoczatkowychStatystyk = silaPodstawa + zrecznoscPodstawa + inteligencjaPodstawa + witalnoscPodstawa; }
public static void UstawObrazEkwipunku(PictureBox Kontrolka, Ekwipunek przedmiot) { try { Kontrolka.BackgroundImageLayout = ImageLayout.None; Kontrolka.SizeMode = PictureBoxSizeMode.Zoom; using (Image obrazekTla = new Bitmap("Resources/Grafiki menu/Tło przedmiotu.png")) { Kontrolka.BackgroundImage = new Bitmap(obrazekTla, Kontrolka.Width, Kontrolka.Height); if (przedmiot != null) { Kontrolka.Image = new Bitmap(przedmiot.Obrazek); } } } catch (System.ArgumentException e) { Kontrolka.Image = new Bitmap("Resources/Grafiki menu/Błędny obraz.png"); MessageBox.Show(e.Message + "\nŚcieżka do obrazu:\n" + przedmiot!=null?przedmiot.Obrazek:"brak przedmiotu", "Błąd wczytywania obrazu", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1); } }
List<int> PorownaneWartosciDoListy(Ekwipunek pierwszyElement, char dzialanie, Ekwipunek drugiElement, char drugieDzialanie, Ekwipunek trzeciElement) { List<int> listaZWynikami = null; if (pierwszyElement != null) { listaZWynikami = new List<int>(); if (drugiElement == null || dzialanie == ' ') { listaZWynikami.Add(pierwszyElement.Sila); listaZWynikami.Add(pierwszyElement.Zrecznosc); listaZWynikami.Add(pierwszyElement.Witalnosc); listaZWynikami.Add(pierwszyElement.Inteligencja); listaZWynikami.Add((int)pierwszyElement.Obrazenia); listaZWynikami.Add((int)pierwszyElement.Pancerz); listaZWynikami.Add((int)pierwszyElement.HP); listaZWynikami.Add((int)pierwszyElement.Energia); listaZWynikami.Add((int)pierwszyElement.SzansaNaTrafienie); listaZWynikami.Add((int)pierwszyElement.SzansaNaKrytyczne); } else if (trzeciElement == null || drugieDzialanie == ' ') { switch (dzialanie) { case '+': listaZWynikami.Add(pierwszyElement.Sila + drugiElement.Sila); listaZWynikami.Add(pierwszyElement.Zrecznosc + drugiElement.Zrecznosc); listaZWynikami.Add(pierwszyElement.Witalnosc + drugiElement.Witalnosc); listaZWynikami.Add(pierwszyElement.Inteligencja + drugiElement.Inteligencja); listaZWynikami.Add((int)pierwszyElement.Obrazenia + (int)drugiElement.Obrazenia); listaZWynikami.Add((int)pierwszyElement.Pancerz + (int)drugiElement.Pancerz); listaZWynikami.Add((int)pierwszyElement.HP + (int)drugiElement.HP); listaZWynikami.Add((int)pierwszyElement.Energia + (int)drugiElement.Energia); listaZWynikami.Add((int)pierwszyElement.SzansaNaTrafienie + (int)drugiElement.SzansaNaTrafienie); listaZWynikami.Add((int)pierwszyElement.SzansaNaKrytyczne + (int)drugiElement.SzansaNaKrytyczne); break; case '-': listaZWynikami.Add(pierwszyElement.Sila - drugiElement.Sila); listaZWynikami.Add(pierwszyElement.Zrecznosc - drugiElement.Zrecznosc); listaZWynikami.Add(pierwszyElement.Witalnosc - drugiElement.Witalnosc); listaZWynikami.Add(pierwszyElement.Inteligencja - drugiElement.Inteligencja); listaZWynikami.Add((int)pierwszyElement.Obrazenia - (int)drugiElement.Obrazenia); listaZWynikami.Add((int)pierwszyElement.Pancerz - (int)drugiElement.Pancerz); listaZWynikami.Add((int)pierwszyElement.HP - (int)drugiElement.HP); listaZWynikami.Add((int)pierwszyElement.Energia - (int)drugiElement.Energia); listaZWynikami.Add((int)pierwszyElement.SzansaNaTrafienie - (int)drugiElement.SzansaNaTrafienie); listaZWynikami.Add((int)pierwszyElement.SzansaNaKrytyczne - (int)drugiElement.SzansaNaKrytyczne); break; } } else { switch (dzialanie) { case '+': switch (drugieDzialanie) { case '+': listaZWynikami.Add(pierwszyElement.Sila + drugiElement.Sila + trzeciElement.Sila); listaZWynikami.Add(pierwszyElement.Zrecznosc + drugiElement.Zrecznosc + trzeciElement.Zrecznosc); listaZWynikami.Add(pierwszyElement.Witalnosc + drugiElement.Witalnosc + trzeciElement.Witalnosc); listaZWynikami.Add(pierwszyElement.Inteligencja + drugiElement.Inteligencja + trzeciElement.Inteligencja); listaZWynikami.Add((int)pierwszyElement.Obrazenia + (int)drugiElement.Obrazenia + (int)trzeciElement.Obrazenia); listaZWynikami.Add((int)pierwszyElement.Pancerz + (int)drugiElement.Pancerz + (int)trzeciElement.Pancerz); listaZWynikami.Add((int)pierwszyElement.HP + (int)drugiElement.HP + (int)trzeciElement.HP); listaZWynikami.Add((int)pierwszyElement.Energia + (int)drugiElement.Energia + (int)trzeciElement.Energia); listaZWynikami.Add((int)pierwszyElement.SzansaNaTrafienie + (int)drugiElement.SzansaNaTrafienie + (int)trzeciElement.SzansaNaTrafienie); listaZWynikami.Add((int)pierwszyElement.SzansaNaKrytyczne + (int)drugiElement.SzansaNaKrytyczne + (int)trzeciElement.SzansaNaKrytyczne); break; case '-': listaZWynikami.Add(pierwszyElement.Sila + drugiElement.Sila - trzeciElement.Sila); listaZWynikami.Add(pierwszyElement.Zrecznosc + drugiElement.Zrecznosc - trzeciElement.Zrecznosc); listaZWynikami.Add(pierwszyElement.Witalnosc + drugiElement.Witalnosc - trzeciElement.Witalnosc); listaZWynikami.Add(pierwszyElement.Inteligencja + drugiElement.Inteligencja - trzeciElement.Inteligencja); listaZWynikami.Add((int)pierwszyElement.Obrazenia + (int)drugiElement.Obrazenia - (int)trzeciElement.Obrazenia); listaZWynikami.Add((int)pierwszyElement.Pancerz + (int)drugiElement.Pancerz - (int)trzeciElement.Pancerz); listaZWynikami.Add((int)pierwszyElement.HP + (int)drugiElement.HP - (int)trzeciElement.HP); listaZWynikami.Add((int)pierwszyElement.Energia + (int)drugiElement.Energia - (int)trzeciElement.Energia); listaZWynikami.Add((int)pierwszyElement.SzansaNaTrafienie + (int)drugiElement.SzansaNaTrafienie - (int)trzeciElement.SzansaNaTrafienie); listaZWynikami.Add((int)pierwszyElement.SzansaNaKrytyczne + (int)drugiElement.SzansaNaKrytyczne - (int)trzeciElement.SzansaNaKrytyczne); break; } break; case '-': switch (drugieDzialanie) { case '+': listaZWynikami.Add(pierwszyElement.Sila - drugiElement.Sila + trzeciElement.Sila); listaZWynikami.Add(pierwszyElement.Zrecznosc - drugiElement.Zrecznosc + trzeciElement.Zrecznosc); listaZWynikami.Add(pierwszyElement.Witalnosc - drugiElement.Witalnosc + trzeciElement.Witalnosc); listaZWynikami.Add(pierwszyElement.Inteligencja - drugiElement.Inteligencja + trzeciElement.Inteligencja); listaZWynikami.Add((int)pierwszyElement.Obrazenia - (int)drugiElement.Obrazenia + (int)trzeciElement.Obrazenia); listaZWynikami.Add((int)pierwszyElement.Pancerz - (int)drugiElement.Pancerz + (int)trzeciElement.Pancerz); listaZWynikami.Add((int)pierwszyElement.HP - (int)drugiElement.HP + (int)trzeciElement.HP); listaZWynikami.Add((int)pierwszyElement.Energia - (int)drugiElement.Energia + (int)trzeciElement.Energia); listaZWynikami.Add((int)pierwszyElement.SzansaNaTrafienie - (int)drugiElement.SzansaNaTrafienie + (int)trzeciElement.SzansaNaTrafienie); listaZWynikami.Add((int)pierwszyElement.SzansaNaKrytyczne - (int)drugiElement.SzansaNaKrytyczne + (int)trzeciElement.SzansaNaKrytyczne); break; case '-': listaZWynikami.Add(pierwszyElement.Sila - drugiElement.Sila - trzeciElement.Sila); listaZWynikami.Add(pierwszyElement.Zrecznosc - drugiElement.Zrecznosc - trzeciElement.Zrecznosc); listaZWynikami.Add(pierwszyElement.Witalnosc - drugiElement.Witalnosc - trzeciElement.Witalnosc); listaZWynikami.Add(pierwszyElement.Inteligencja - drugiElement.Inteligencja - trzeciElement.Inteligencja); listaZWynikami.Add((int)pierwszyElement.Obrazenia - (int)drugiElement.Obrazenia - (int)trzeciElement.Obrazenia); listaZWynikami.Add((int)pierwszyElement.Pancerz - (int)drugiElement.Pancerz - (int)trzeciElement.Pancerz); listaZWynikami.Add((int)pierwszyElement.HP - (int)drugiElement.HP - (int)trzeciElement.HP); listaZWynikami.Add((int)pierwszyElement.Energia - (int)drugiElement.Energia - (int)trzeciElement.Energia); listaZWynikami.Add((int)pierwszyElement.SzansaNaTrafienie - (int)drugiElement.SzansaNaTrafienie - (int)trzeciElement.SzansaNaTrafienie); listaZWynikami.Add((int)pierwszyElement.SzansaNaKrytyczne - (int)drugiElement.SzansaNaKrytyczne - (int)trzeciElement.SzansaNaKrytyczne); break; } break; } } } return listaZWynikami; }
void OdswiezLabelZPorownaniemPrzedmiotow(Ekwipunek przenoszonyPrzedmiot) { NazwyStatystyk(); LabelWartosciStatystyk.Text = "\n"; LabelWartosciStatystyk.Text += gracz.Doswiadczenie + "/" + gracz.DoswiadczenieWymaganeNaKonkretnyPoziom[gracz.Poziom-1] + "\n"; LabelWartosciStatystyk.Text += gracz.Poziom + "\n"; LabelWartosciStatystyk.Text += gracz.PunktyStatystykDoRozdania + "\n"; //Pozostałe punkty do rozdania LabelWartosciStatystyk.Text += gracz.Sila + "\n"; //Siła LabelWartosciStatystyk.Text += gracz.Zrecznosc + "\n"; //Zręczność LabelWartosciStatystyk.Text += gracz.Witalnosc + "\n"; //Witalność LabelWartosciStatystyk.Text += gracz.Inteligencja + "\n"; //Inteligencja LabelWartosciStatystyk.Text += gracz.Obrazenia + "\n"; //Obrażenia LabelWartosciStatystyk.Text += gracz.Pancerz + "\n"; //Pancerz LabelWartosciStatystyk.Text += gracz.HP + "\n"; //Zdrowie LabelWartosciStatystyk.Text += gracz.Energia + "\n"; //Energia LabelWartosciStatystyk.Text += gracz.SzansaNaTrafienie + "%\n"; //Szansa na trafienie LabelWartosciStatystyk.Text += gracz.SzansaNaKrytyczne + "%\n"; //Szansa na trafienie krytyczne if(przenoszonyPrzedmiot.TypPrzedmiotu==Klasy.TypPrzedmiotu.BronJednoreczna) { WyswietlWartosciPorownan(PorownaneWartosciDoListy(przenoszonyPrzedmiot, '-', gracz.ZalozonaBron, ' ', null));//Porównaj dwie bronie jednoręczne (bez tarczy) } else if(przenoszonyPrzedmiot.TypPrzedmiotu==Klasy.TypPrzedmiotu.BronDwureczna || przenoszonyPrzedmiot.TypPrzedmiotu==Klasy.TypPrzedmiotu.BronMiotana) { if(gracz.ZalozonaBron!=null && gracz.ZalozonaBron.TypPrzedmiotu==Klasy.TypPrzedmiotu.BronJednoreczna) { if(gracz.ZalozonaTarcza!=null && gracz.ZalozonaTarcza.TypPrzedmiotu==Klasy.TypPrzedmiotu.Tarcza) { WyswietlWartosciPorownan(PorownaneWartosciDoListy(przenoszonyPrzedmiot, '-', gracz.ZalozonaBron, '-', gracz.ZalozonaTarcza));//Porównaj założoną broń jednoręczną + założoną tarczę z najechaną bronią dwuręczną } else//Jeżeli gracz nie ma na sobie tarczy { WyswietlWartosciPorownan(PorownaneWartosciDoListy(przenoszonyPrzedmiot, '-', gracz.ZalozonaBron, ' ', null));//Porównaj najechaną broń dwuręczną z wyposażoną bronią jednoręczną } } else { WyswietlWartosciPorownan(PorownaneWartosciDoListy(przenoszonyPrzedmiot, '-', gracz.ZalozonaBron, '-', gracz.ZalozonaTarcza)); } } else if (przenoszonyPrzedmiot.TypPrzedmiotu==Klasy.TypPrzedmiotu.Zbroja)//Jeżeli przenoszony przedmiot jest pancerzem { WyswietlWartosciPorownan(PorownaneWartosciDoListy(przenoszonyPrzedmiot, '-', gracz.ZalozonyPancerz, ' ', null));//Porównaj pancerz najechany z założonym } else if (przenoszonyPrzedmiot.TypPrzedmiotu==Klasy.TypPrzedmiotu.Tarcza)//Jeżeli przenoszony przedmiot jest tarczą { if (gracz.ZalozonaTarcza != null) { if (gracz.ZalozonaTarcza.TypPrzedmiotu == Klasy.TypPrzedmiotu.Tarcza)//Jeżeli gracz ma założoną tarczę {//Nie trzeba sprawdzać if(WyposazonaBron.Contains("bron1h")), bo broń jednoręczna nie konfliktuje z tarczą WyswietlWartosciPorownan(PorownaneWartosciDoListy(przenoszonyPrzedmiot, '-', gracz.ZalozonaTarcza, ' ', null));//Porównaj tarczę najechaną z założoną } else if (gracz.ZalozonaBron!=null &&( gracz.ZalozonaBron.TypPrzedmiotu==Klasy.TypPrzedmiotu.BronDwureczna || gracz.ZalozonaBron.TypPrzedmiotu==Klasy.TypPrzedmiotu.BronMiotana))//Jeżeli gracz ma założoną broń dwuręczną { WyswietlWartosciPorownan(PorownaneWartosciDoListy(przenoszonyPrzedmiot, '-', gracz.ZalozonaBron, ' ', null));//Wyświetl statystyki najechanej tarczy - statystyki założonej broni dwuręcznej } } else//Jeżeli gracz nie ma na sobie ani tarczy ani broni dwuręcznej { WyswietlWartosciPorownan(PorownaneWartosciDoListy(przenoszonyPrzedmiot, ' ', null, ' ', null));//Wyświetl statystyki najechanej tarczy } } }
void OdswiezInformacjeONejchanymPrzedmiocie(Ekwipunek przedmiot) { Program.UstawObrazZDopasowaniemWielkosciObrazuDoKontrolkiJakoImage(PictureBoxPrzenoszony, przedmiot.Obrazek); LabelNazwaPrzedmiotu.Text = przedmiot.Nazwa; LabelOpisStatystykPrzedmiotu.Text = "Wartość"; LabelOpisStatystykPrzedmiotu.Text += "\nSiła"; LabelOpisStatystykPrzedmiotu.Text += "\nZręczność"; LabelOpisStatystykPrzedmiotu.Text += "\nWitalność"; LabelOpisStatystykPrzedmiotu.Text += "\nInteligencja"; LabelOpisStatystykPrzedmiotu.Text += "\nObrazenia"; LabelOpisStatystykPrzedmiotu.Text += "\nPancerz"; LabelOpisStatystykPrzedmiotu.Text += "\nPunkty życia"; LabelOpisStatystykPrzedmiotu.Text += "\nEnergia"; LabelOpisStatystykPrzedmiotu.Text += "\nSzansa na trafienie"; LabelOpisStatystykPrzedmiotu.Text += "\nSzansa na krytyczne"; LabelWartosciStatystykPrzedmiotu.Text = przedmiot.Cena.ToString(); LabelWartosciStatystykPrzedmiotu.Text += "\n" + przedmiot.Sila; LabelWartosciStatystykPrzedmiotu.Text += "\n" + przedmiot.Zrecznosc; LabelWartosciStatystykPrzedmiotu.Text += "\n" + przedmiot.Witalnosc; LabelWartosciStatystykPrzedmiotu.Text += "\n" + przedmiot.Inteligencja; LabelWartosciStatystykPrzedmiotu.Text += "\n" + przedmiot.Obrazenia; LabelWartosciStatystykPrzedmiotu.Text += "\n" + przedmiot.Pancerz; LabelWartosciStatystykPrzedmiotu.Text += "\n" + przedmiot.HP; LabelWartosciStatystykPrzedmiotu.Text += "\n" + przedmiot.Energia; LabelWartosciStatystykPrzedmiotu.Text += "\n" + przedmiot.SzansaNaTrafienie; LabelWartosciStatystykPrzedmiotu.Text += "\n" + przedmiot.SzansaNaKrytyczne; }