Exemplo n.º 1
0
        private void Edytuj_Click(object sender, EventArgs e)             //przycisk edycji postaci - aktualizuje dane
        {
            if (listaPos.Count == 0 || ListaPostaci.SelectedItem == null) //sprawdzenie czy wybrano postac z listy
            {
                MessageBox.Show("Brak postaci do edycji!"); return;
            }
            bool czydobre = Sprawdz(); //sprawdzenie czy pola są uzupełnione odpowiednimi wartosciami

            if (!czydobre)
            {
                return;
            }
            Postać edytowana = listaPos[ListaPostaci.SelectedIndex]; //aktualizacja danych

            edytowana.Imię         = ImięPos.Text;
            edytowana.Level        = Int32.Parse(LevelPos.Text);
            edytowana.Opis         = OpisPos.Text;
            edytowana.klasaPostaci = WybórKlasaPostaci.SelectedItem.ToString();
            edytowana.Moc          = listaKlas[WybórKlasaPostaci.SelectedIndex].moc;
            edytowana.Obrona       = listaKlas[WybórKlasaPostaci.SelectedIndex].obrona;
            edytowana.Udźwig       = listaKlas[WybórKlasaPostaci.SelectedIndex].udźwig;
            edytowana.ZwiekszWartosc(edytowana.Level);
            ListaPostaci.Items[ListaPostaci.SelectedIndex] = edytowana.Imię; //jesli zmienione imie - jego aktualizacja w comboboxie (+ jesli zmieniony lvl, to pola mocy obrony udzwigu tez sie zaktualizuja)
            if (wybrany != null && wybrany.ID == edytowana.ID)               //jesli edytowana postac byla wczesniej wybrana i wyswietlona w oknie glownym to wyswietl komunikat o zmianie (info w oknie głownym sie nie zmieni dopoki jeszcze raz nie wybierze sie przycisku wyboru postaci)
            {
                MessageBox.Show("Uwaga: zmieniono dane wybranej wcześniej postaci." + Environment.NewLine + "Jeśli chcesz zaktualizować te dane w oknie głównym, kliknij ponownie \"Wybierz postać\" (bieżące ustawienia w oknie głównym zostaną usunięte).");
            }
        }
Exemplo n.º 2
0
        public bool SprawdzPlik(string[] dane)
        {
            if (dane[0] == "" || dane[1] == "" || dane[2] == "" || dane[3] == "" || dane[4] == "" || dane[5] == "" || dane[6] == "")
            {
                MessageBox.Show("Brak wartości pola postaci!"); return(false);
            }
            if (dane[0].Length < 4 || dane[0].Length > 15)
            {
                MessageBox.Show("Nieprawidłowa długość imienia!"); return(false);
            }
            int result;

            if (!Int32.TryParse(dane[1], out result))
            {
                MessageBox.Show("Level musi być liczbą!"); return(false);
            }
            if (Int32.Parse(dane[1]) < 0 || Int32.Parse(dane[1]) > 99)
            {
                MessageBox.Show("Niepoprawny level! (0-99)"); return(false);
            }
            if (dane[2].Length < 3 || dane[2].Length > 100)
            {
                MessageBox.Show("Długość opisu spoza zakresu (3-100 znaków)!"); return(false);
            }
            if (dane[3] != "Tropiciel" && dane[3] != "Mag" && dane[3] != "Wojownik")
            {
                MessageBox.Show("Niepoprawna klasa postaci!"); return(false);
            }
            double result2;

            if (!double.TryParse(dane[4], out result2) || !double.TryParse(dane[5], out result2) || !double.TryParse(dane[6], out result2))
            {
                MessageBox.Show("Nieprawidłowa wartość mocy/obrony/udźwigu!"); return(false);
            }
            int id = 0;

            if (dane[3] == "Tropiciel")
            {
                id = 1;
            }
            if (dane[3] == "Wojownik")
            {
                id = 2;
            }                                                                                                                                            //w zaleznosci od wybranej klasy, bierzemy jej wartosci bazowe mocy/obrony/udzwigu do stworzenia nowej postaci
            Postać nowy = new Postać(0, dane[0], Int32.Parse(dane[1]), dane[2], dane[3], listaKlas[id].moc, listaKlas[id].obrona, listaKlas[id].udźwig); //tworzymy nową postac na podstawie wartosci z tablicy i porownujemy moc/obrone/udzwig jakie powinny być na postawie levelu postaci a wartosciami z pliku, czy sa takie same

            nowy.ZwiekszWartosc(Int32.Parse(dane[1]));
            if ((nowy.Moc.ToString() != dane[4]) || (nowy.Obrona.ToString() != dane[5]) || (nowy.Udźwig.ToString() != dane[6]))
            {
                MessageBox.Show("Niepoprawne wartości mocy/obrony/udźwigu w zależności od levelu postaci!"); return(false);
            }
            return(true);
        }
Exemplo n.º 3
0
        private void StwórzPostać_Click(object sender, EventArgs e) //przycisk tworzenia postaci
        {                                                           //Postać(pola: ID, Imię, lvl, Moc, Obrona, Opis, Udźwig, klasaPostaci)
            bool czydobre = Sprawdz();

            if (!czydobre)
            {
                return;
            }                         //sprawdzenie czy podane wartosci sa prawidlowe, jesli nie-zakoncz działanie
            string imię   = ImięPos.Text;
            int    lvl    = Int32.Parse(LevelPos.Text);
            string opis   = OpisPos.Text;
            string klasa  = WybórKlasaPostaci.SelectedItem.ToString(); //do zmiennych lokalnych przypisujemy wartosci wprowadzone/wybrane przez użytkownika
            double moc    = listaKlas[WybórKlasaPostaci.SelectedIndex].moc;
            double obrona = listaKlas[WybórKlasaPostaci.SelectedIndex].obrona;
            double udźwig = listaKlas[WybórKlasaPostaci.SelectedIndex].udźwig; //bazowe wartosci pochodzace z klas postaci
            // MessageBox.Show(moc.ToString(), obrona.ToString());
            Postać nowaPostać = new Postać(Id, imię, lvl, opis, klasa, moc, obrona, udźwig);

            nowaPostać.ZwiekszWartosc(lvl); //wywołanie metody zwiekszajacej bazowe wartosci na podstawie lvl
            listaPos.Add(nowaPostać);
            ListaPostaci.Items.Add(imię);
            Id++;
        }