示例#1
0
        public static Figura inst(NazwaFigury figura, char X, int Y, Kolory kolor)
        {
            Figura figure = null;

            switch (figura)
            {
            case NazwaFigury.Król:
            {
                figure = new Krol(X, Y, kolor);
                break;
            }

            case NazwaFigury.Wieża:
            {
                figure = new Wieza(X, Y, kolor);
                break;
            }

            case NazwaFigury.Goniec:
            {
                figure = new Goniec(X, Y, kolor);
                break;
            }

            case NazwaFigury.Hetman:
            {
                figure = new Hetman(X, Y, kolor);
                break;
            }
            }

            return(figure);
        }
示例#2
0
        public void DodajPionek(string nazwa, string kolor, string pozycja)
        {
            //dekodowanie pozycji, uzyskane dane sluza do poprawnej reprezentacji figur w tablicy:
            int x1, y1;

            x1 = (int)pozycja[0] - 64 - 1;
            y1 = Int32.Parse(pozycja.Substring(1)) - 1;
            y1 = 7 - y1;

            //stworzenie w polu tablicy obiektu pionka
            switch (nazwa)
            {
            case "Pionek":
                szachownica[x1, y1] = new Pionek(kolor, x1, y1);
                ilosc_pionkow++;
                break;

            case "Krol":
                szachownica[x1, y1] = new Krol(kolor, x1, y1);
                ilosc_pionkow++;
                break;

            case "Wieza":
                szachownica[x1, y1] = new Wieza(kolor, x1, y1);
                ilosc_pionkow++;
                break;

            case "Krolowa":
                szachownica[x1, y1] = new Krolowa(kolor, x1, y1);
                ilosc_pionkow++;
                break;
            }
        }
示例#3
0
        /// <summary>
        /// Z racji, że ruch królowej to kombinacja możliwości ruchu gońca i wieży, to sumuję pola w które mogą ruszyć się te figury, 
        /// jakby żyły na miejscu królowej
        /// </summary>

        public override List<int> zobacz_mozliwosci(int pole, Szachownica pomocnicza_szachownica)
        {

            Goniec goniec_pom = new Goniec(bialy_gracz);
            pomocnicza_szachownica.ustaw_na_polu(goniec_pom, pole);
            List<int> mozliwosci_gonca = goniec_pom.zobacz_mozliwosci(pole, pomocnicza_szachownica);

            Wieza wieza_pom = new Wieza(bialy_gracz);
            pomocnicza_szachownica.ustaw_na_polu(wieza_pom, pole);
            List<int> mozliwosci_wiezy = wieza_pom.zobacz_mozliwosci(pole, pomocnicza_szachownica);
            mozliwosci_gonca.AddRange(mozliwosci_wiezy);
            pomocnicza_szachownica.ustaw_na_polu(new Krolowa(bialy_gracz), pole); //królowa wraca na pole

            return mozliwosci_gonca;
        }
示例#4
0
 /// <summary>
 /// Konstruktor kopiujący
 /// </summary>
 /// <param name="pom">Wieża, którą chcemy skopiować</param>
 public Wieza(Wieza pom)
 {
     bialy_gracz = pom.ktory_gracz();
 }