Пример #1
0
        // pop-up do wyboru ciosu, przyjmuje listę ciosów bohatera
        public void okienkoWyboruCiosu(Cios[] listaCiosow, int zaznaczonaOpcja)
        {
            const int x = 16;
            const int y = 6;
            const int w = 24;

            Wyswietlanie.prostokat(x, y, w, listaCiosow.Length * 2 + 3);
            int temp, temp2 = x + w;
            var kolor = ConsoleColor.White;

            for (int i = 0; i <= listaCiosow.Length; i++)
            {
                temp = y + 1 + i * 2;
                if (i == zaznaczonaOpcja)
                {
                    kolor = ConsoleColor.Blue;
                }

                if (i < listaCiosow.Length)
                {
                    Wyswietlanie.pisz(listaCiosow[i].pobierzNazwe(), kolor, x + 1, temp);
                    Wyswietlanie.pisz(listaCiosow[i].pobierzKoszt().ToString(), ConsoleColor.Yellow, temp2 - 6, temp);
                    Wyswietlanie.pisz(listaCiosow[i].pobierzObrazenia().ToString(), ConsoleColor.Red, temp2 - 3, temp);
                }
                else
                {
                    Wyswietlanie.pisz("Powrot", kolor, x + 1, temp);
                }

                if (i == zaznaczonaOpcja)
                {
                    kolor = ConsoleColor.White;
                }
            }
        }
Пример #2
0
        // drugie okno pomocnicze dojo. Tutaj możemy wykonywać ćwiczenia,
        // które podnoszą statystyki bohatera
        public void oknoCwiczen(Cwiczenie[] listaCwiczen, int zaznaczonaOpcja)
        {
            Wyswietlanie.okienko("Cwiczenia na silowni", 40, 3, 80, 30);
            Wyswietlanie.pisz("Cwiczenie", ConsoleColor.White, 43, 6);
            Wyswietlanie.pisz("koszt", ConsoleColor.White, 93, 6);
            Wyswietlanie.pisz("zycie", ConsoleColor.White, 99, 6);
            Wyswietlanie.pisz("stamina", ConsoleColor.White, 105, 6);
            Wyswietlanie.pisz("sila", ConsoleColor.White, 114, 6);

            Wyswietlanie.rozdzielacz(28, true, 92, 5);
            Wyswietlanie.rozdzielacz(28, true, 98, 5);
            Wyswietlanie.rozdzielacz(28, true, 104, 5);
            Wyswietlanie.rozdzielacz(28, true, 112, 5);
            Wyswietlanie.rozdzielacz(80, false, 40, 7);

            Wyswietlanie.krzyz(92, 7);
            Wyswietlanie.krzyz(98, 7);
            Wyswietlanie.krzyz(104, 7);
            Wyswietlanie.krzyz(112, 7);

            int y     = 8;
            var kolor = ConsoleColor.White;

            for (int i = 0; i <= listaCwiczen.Length; ++i)
            {
                if (i == zaznaczonaOpcja)
                {
                    kolor = ConsoleColor.Blue;
                }

                if (i < listaCwiczen.Length)
                {
                    Wyswietlanie.pisz(listaCwiczen[i].pobierzNazwe(), kolor, 43, y);
                    Wyswietlanie.pisz($"{listaCwiczen[i].pobierzKoszt()}g", kolor, 94, y);
                    uint[] staty = listaCwiczen[i].pobierzStaty();
                    Wyswietlanie.pisz($"{staty[0]}", kolor, 101, y);
                    Wyswietlanie.pisz($"{staty[1]}", kolor, 108, y);
                    Wyswietlanie.pisz($"{staty[2]}", kolor, 115, y);
                }
                else
                {
                    Wyswietlanie.pisz("Powrot", kolor, 43, y);
                }

                if (i == zaznaczonaOpcja)
                {
                    kolor = ConsoleColor.White;
                }

                y += 2;
            }
        }
Пример #3
0
        // menu i ekran walki
        public void ekranWalki(int zaznaczonaOpcja)
        {
            Wyswietlanie.okienko("Wybierz akcje", 0, 3, 26, 30);

            for (int i = 0; i < this.opcjeWalki.Length; ++i)
            {
                if (i == zaznaczonaOpcja)
                {
                    Wyswietlanie.pisz(this.opcjeWalki[i], ConsoleColor.Blue, 3, 7 + 2 * i);
                }
                else
                {
                    Wyswietlanie.pisz(this.opcjeWalki[i], ConsoleColor.White, 3, 7 + 2 * i);
                }
            }
        }
Пример #4
0
        public void oknoInstrukcji()
        {
            const int x = 65;

            Wyswietlanie.okienko("Instrukcja", x, 3, 120 - x, 30);
            var    czytnik = new System.IO.StreamReader(this.sciezkaInstrukcji);
            string linia;
            int    offsetY = 0;

            while ((linia = czytnik.ReadLine()) != null)
            {
                Wyswietlanie.pisz(linia, ConsoleColor.White, x + 3, 7 + offsetY);
                offsetY += 1;
            }
            czytnik.Close();
        }
Пример #5
0
        // główne menu gry a także jej ekran tytułowy
        // wersja kiedy nie ma żadnego przeciwnika
        public void ekranGry(int zaznaczonaOpcja)
        {
            Wyswietlanie.okienko("Menu glowne", 0, 3, 30, 30);

            for (int i = 0; i < this.opcjeGry.Length; ++i)
            {
                if (i == zaznaczonaOpcja)
                {
                    Wyswietlanie.pisz(this.opcjeGry[i], ConsoleColor.Blue, 3, 7 + 2 * i);
                }
                else
                {
                    Wyswietlanie.pisz(this.opcjeGry[i], ConsoleColor.White, 3, 7 + 2 * i);
                }
            }
        }
Пример #6
0
        // górny pasek statusu wyświetlający informacje o bohaterze
        // przyjmuje StatusPostaci
        public void pasekStatusu(StatusPostaci status)
        {
            // TODO: dodatkowe atrybuty przekazywać przez jakiś struct
            this.info();

            Wyswietlanie.prostokat(0, 0, 120, 3);
            Wyswietlanie.wyczyscPole(1, 1, 118, 1);

            string tekst = $"Sila:{status.sila}, Pancerz:{status.pancerz}, ";

            tekst += $"Poziom:{status.poziom}, Doswiadczenie:{status.doswiadczenie}/1000, ";
            tekst += $"Pkt. Zdol:{status.punktyZdolnosci}, Pieniadze:{status.pieniadze}g";

            Wyswietlanie.pisz($"Zycie:{status.zycie}, ", ConsoleColor.Red, 2, 1);
            Wyswietlanie.pisz($"Wytrzymalosc:{status.wytrzymalosc}, ", ConsoleColor.Yellow);
            Wyswietlanie.pisz(tekst, ConsoleColor.White);
        }
Пример #7
0
        // pierwszy z ekranów pomocniczych dojo. Tutaj uczymy się nowych ciosów
        public void oknoNaukiCiosow(Cios[] listaCiosow, int zaznaczonaOpcja)
        {
            Wyswietlanie.okienko("Nauka ciosow", 40, 3, 80, 30);
            Wyswietlanie.pisz("Nazwa", ConsoleColor.White, 43, 6);
            Wyswietlanie.pisz("DMG", ConsoleColor.White, 109, 6);
            Wyswietlanie.pisz("Koszt", ConsoleColor.White, 114, 6);

            // Wyswietlanie.rozdzielacz(28, true, 80, 5);
            Wyswietlanie.rozdzielacz(28, true, 107, 5);
            Wyswietlanie.rozdzielacz(28, true, 113, 5);
            Wyswietlanie.rozdzielacz(80, false, 40, 7);

            // Wyswietlanie.krzyz(80, 7);
            Wyswietlanie.krzyz(107, 7);
            Wyswietlanie.krzyz(113, 7);

            int y     = 8;
            var kolor = ConsoleColor.White;

            for (int i = 0; i <= listaCiosow.Length; ++i)
            {
                if (i == zaznaczonaOpcja)
                {
                    kolor = ConsoleColor.Blue;
                }

                if (i < listaCiosow.Length)
                {
                    Wyswietlanie.pisz(listaCiosow[i].pobierzNazwe(), kolor, 43, y);
                    Wyswietlanie.pisz(listaCiosow[i].pobierzObrazenia().ToString(), kolor, 110, y);
                    Wyswietlanie.pisz(listaCiosow[i].pobierzKoszt().ToString(), kolor, 116, y);
                }
                else
                {
                    Wyswietlanie.pisz("Powrot", kolor, 43, y);
                }

                if (i == zaznaczonaOpcja)
                {
                    kolor = ConsoleColor.White;
                }

                y += 2;
            }
        }
Пример #8
0
        // Wyświetla przebieg walki (ciosy, ataki, punkty obrażeń)
        public void oknoPrzebieguWalki(string[] przebieg)
        {
            const int x = 29;

            Wyswietlanie.okienko("Przebieg Walki", x - 3, 3, 67, 30);

            int y = 7;
            int i = 0;

            if (przebieg.Length > 24)
            {
                i = przebieg.Length - 24;
            }

            for (; i < przebieg.Length; i++)
            {
                Wyswietlanie.pisz(przebieg[i], ConsoleColor.White, x, y++);
            }
        }
Пример #9
0
        // ostatnie okno pomocnicze dojo. W tym możemy zakupować dodatkowe pancerze
        public void oknoPrzedmiotow(Przedmiot[] listaPrzedmiotow, int zaznaczonaOpcja)
        {
            Wyswietlanie.okienko("Pancerze do kupienia", 40, 3, 80, 30);
            Wyswietlanie.pisz("Nazwa", ConsoleColor.White, 43, 6);
            Wyswietlanie.pisz("Pancerz", ConsoleColor.White, 105, 6);
            Wyswietlanie.pisz("Cena", ConsoleColor.White, 114, 6);

            Wyswietlanie.rozdzielacz(28, true, 104, 5);
            Wyswietlanie.rozdzielacz(28, true, 112, 5);
            Wyswietlanie.rozdzielacz(80, false, 40, 7);

            Wyswietlanie.krzyz(104, 7);
            Wyswietlanie.krzyz(112, 7);

            int y     = 8;
            var kolor = ConsoleColor.White;

            for (int i = 0; i <= listaPrzedmiotow.Length; ++i)
            {
                if (i == zaznaczonaOpcja)
                {
                    kolor = ConsoleColor.Blue;
                }

                if (i < listaPrzedmiotow.Length)
                {
                    Wyswietlanie.pisz(listaPrzedmiotow[i].pobierzNazwe(), kolor, 43, y);
                    Wyswietlanie.pisz(listaPrzedmiotow[i].pobierzPancerz().ToString(), kolor, 108, y);
                    Wyswietlanie.pisz($"{listaPrzedmiotow[i].pobierzCene()}g", kolor, 114, y);
                }
                else
                {
                    Wyswietlanie.pisz("Powrot", kolor, 43, y);
                }

                if (i == zaznaczonaOpcja)
                {
                    kolor = ConsoleColor.White;
                }

                y += 2;
            }
        }
Пример #10
0
        // ekran dojo wyświetla dojo we współpracy z oknami ciosów, przedmiotów i ćwiczeń
        // przyjmuje int zaznaczonej opcji
        // (możemy wysłać -1 jeżeli nie chcemy zaznaczać niczego)
        public void ekranDojo(int zaznaczonaOpcja, bool rightScreen)
        {
            Wyswietlanie.okienko("Dojo", 0, 3, 40, 30);

            for (int i = 0; i < this.opcjeDojo.Length; ++i)
            {
                if (i == zaznaczonaOpcja)
                {
                    Wyswietlanie.pisz(this.opcjeDojo[i], ConsoleColor.Blue, 3, 7 + 2 * i);
                }
                else
                {
                    Wyswietlanie.pisz(this.opcjeDojo[i], ConsoleColor.White, 3, 7 + 2 * i);
                }
            }

            if (rightScreen)
            {
                Wyswietlanie.okienko("Podmenu", 40, 3, 80, 30);
            }
        }
Пример #11
0
        public void oknoNastepnego(StatusPostaci przeciwnik, Cios[] listaCiosowPrzeciwnika)
        {
            this.oknoNastepnego();

            const int x = 33;

            Wyswietlanie.pisz($"Statystyki", ConsoleColor.White, x, 6);
            Wyswietlanie.pisz($"Życie: {przeciwnik.zycie}", ConsoleColor.Red, x, 8);
            Wyswietlanie.pisz($"Wytrzymalosc: {przeciwnik.wytrzymalosc}", ConsoleColor.Yellow, x, 9);
            Wyswietlanie.pisz($"Sila: {przeciwnik.sila}", ConsoleColor.White, x, 10);
            Wyswietlanie.pisz($"Pancerz: {przeciwnik.pancerz}", ConsoleColor.White, x, 11);
            Wyswietlanie.pisz($"Znane ciosy", ConsoleColor.White, x, 16);

            Wyswietlanie.rozdzielacz(35, false, x - 3, 7);

            Wyswietlanie.rozdzielacz(35, false, x - 3, 15);
            Wyswietlanie.rozdzielacz(35, false, x - 3, 17);

            for (int i = 0; i < listaCiosowPrzeciwnika.Length; i++)
            {
                Wyswietlanie.pisz($"{listaCiosowPrzeciwnika[i].pobierzNazwe()}", ConsoleColor.White, x, 19 + i);
            }
        }
Пример #12
0
        // pop-up do wyboru obrony
        public void okienkoWyboruObrony(int zaznaczonaOpcja)
        {
            const int x = 16;
            const int y = 6;
            const int w = 16;

            Wyswietlanie.prostokat(x, y, w, 7);
            int temp, temp2 = x + w - 3;
            var kolor = ConsoleColor.White;

            for (int i = 0; i < opcjeObrony.Length; i++)
            {
                temp = y + 1 + (i * 2);
                if (i == zaznaczonaOpcja)
                {
                    kolor = ConsoleColor.Blue;
                }

                Wyswietlanie.pisz(this.opcjeObrony[i], kolor, x + 1, temp);

                switch (this.opcjeObrony[i])
                {
                case "Normalna":
                    Wyswietlanie.pisz(SilaObrony.kosztNormalna.ToString(), ConsoleColor.Yellow, temp2, temp);
                    break;

                case "Mocna":
                    Wyswietlanie.pisz(SilaObrony.kosztMocna.ToString(), ConsoleColor.Yellow, temp2, temp);
                    break;
                }

                if (i == zaznaczonaOpcja)
                {
                    kolor = ConsoleColor.White;
                }
            }
        }
Пример #13
0
        // okno pomocnicze przeciwnika. Wyświetla jego status i znane ciosy
        public void oknoPrzeciwnika(StatusPostaci przeciwnik, Cios[] ciosyPrzeciwnika)
        {
            const int x = 96;

            Wyswietlanie.okienko("Twoj przeciwnik", x - 3, 3, 120 - x + 3, 30);

            Wyswietlanie.pisz($"Statystyki", ConsoleColor.White, x, 6);
            Wyswietlanie.pisz($"Życie: {przeciwnik.zycie}", ConsoleColor.Red, x, 8);
            Wyswietlanie.pisz($"Wytrzymalosc: {przeciwnik.wytrzymalosc}", ConsoleColor.Yellow, x, 9);
            Wyswietlanie.pisz($"Sila: {przeciwnik.sila}", ConsoleColor.White, x, 10);
            Wyswietlanie.pisz($"Pancerz: {przeciwnik.pancerz}", ConsoleColor.White, x, 11);
            Wyswietlanie.pisz($"Znane ciosy", ConsoleColor.White, x, 16);

            Wyswietlanie.rozdzielacz(120 - x + 3, false, x - 3, 7);

            Wyswietlanie.rozdzielacz(120 - x + 3, false, x - 3, 15);
            Wyswietlanie.rozdzielacz(120 - x + 3, false, x - 3, 17);


            for (int i = 0; i < ciosyPrzeciwnika.Length; i++)
            {
                Wyswietlanie.pisz($"{ciosyPrzeciwnika[i].pobierzNazwe()}", ConsoleColor.White, x, 19 + i);
            }
        }
Пример #14
0
 public static void pisz(string tekst, ConsoleColor kolor, int x, int y)
 {
     gotoXY(x, y);
     Wyswietlanie.pisz(tekst, kolor);
 }
Пример #15
0
 // wyświetlanie informacji o grupie pod ekranem gry
 public void info()
 {
     Wyswietlanie.prostokat(0, 33, 23, 3);
     Wyswietlanie.pisz("Grupa 12, INIS2_3.1", ConsoleColor.White, 2, 34);
 }