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); }
/// <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; }
public static Figura Instancja(TypFigury figura, char X, int Y, Kolory kolor) { Figura f = null; switch (figura) { case TypFigury.GONIEC: { f = new Goniec(X, Y, kolor); break; } case TypFigury.HETMAN: { f = new Hetman(X, Y, kolor); break; } case TypFigury.KRÓL: { f = new Król(X, Y, kolor); break; } case TypFigury.WIEŻA: { f = new Wieża(X, Y, kolor); break; } default: { throw new ArgumentOutOfRangeException("figura", "Nie ma takiego typu figury :("); } } return(f); }
/// <summary> /// Konstruktor kopiujący /// </summary> /// <param name="pom">Goniec do skopiowania</param> public Goniec(Goniec pom) { this.bialy_gracz = pom.ktory_gracz(); }
static void Main(string[] args) { Console.Write("Podaj pozycję początkową , np. B4 : "); string wyborPozycji = Console.ReadLine(); Console.Write("Podaj kolor (c - czarne , b - białe) : "); string wyburKoloru = Console.ReadLine(); Console.WriteLine("Wybierz figurę :"); Console.WriteLine(" 1. Król."); Console.WriteLine(" 2. Goniec."); Console.WriteLine(" 3. Wieża."); Console.WriteLine(" 4. Pionek."); string wyborFigury = Console.ReadLine(); switch (wyborFigury) { case "1": Krol krol = new Krol(); krol.PoczatkowaPozycja(new Szachownica(wyborPozycji)); krol.WybranyKolor(wyburKoloru); Console.WriteLine("Twoja figura to: " + krol.NazwaFigury + ", kolor : " + krol.WybranyKolor(wyburKoloru) + " , na pozycji : " + wyborPozycji); Console.Write("Podaj pozycję docelową : "); string nowaPozycja = Console.ReadLine(); Szachownica docelowaPozycja = new Szachownica(nowaPozycja); if (krol.CzyMozeRuszyc(docelowaPozycja)) { Zdarzenie.write("Ruch z: " + wyborPozycji + " na " + nowaPozycja + " jest OK"); } else { Zdarzenie.write("Ruch z: " + wyborPozycji + " na " + nowaPozycja + " jest ZABRONIONY"); } break; case "2": Goniec goniec = new Goniec(); goniec.PoczatkowaPozycja(new Szachownica(wyborPozycji)); goniec.WybranyKolor(wyburKoloru); Console.WriteLine("Twoja figura to: " + goniec.NazwaFigury + ", kolor : " + goniec.WybranyKolor(wyburKoloru) + " , na pozycji : " + wyborPozycji); Console.Write("Podaj pozycję docelową : "); string nowaPozycja1 = Console.ReadLine(); Szachownica docelowaPozycja1 = new Szachownica(nowaPozycja1); if (goniec.CzyMozeRuszyc(docelowaPozycja1)) { Console.WriteLine("Ruch z: " + wyborPozycji + " na " + nowaPozycja1 + " jest OK"); } else { Console.WriteLine("Ruch z: " + wyborPozycji + " na " + nowaPozycja1 + " jest ZABRONIONY"); } break; case "3": Wieza wieza = new Figury.Wieza(); wieza.PoczatkowaPozycja(new Szachownica(wyborPozycji)); wieza.WybranyKolor(wyburKoloru); Console.WriteLine("Twoja figura to: " + wieza.NazwaFigury + ", kolor : " + wieza.WybranyKolor(wyburKoloru) + " , na pozycji : " + wyborPozycji); Console.Write("Podaj pozycję docelową : "); string nowaPozycja2 = Console.ReadLine(); Szachownica docelowaPozycja2 = new Szachownica(nowaPozycja2); if (wieza.CzyMozeRuszyc(docelowaPozycja2)) { Console.WriteLine("Ruch z: " + wyborPozycji + " na " + nowaPozycja2 + " jest OK"); } else { Console.WriteLine("Ruch z: " + wyborPozycji + " na " + nowaPozycja2 + " jest ZABRONIONY"); } break; case "4": Pionek pionek = new Pionek(); pionek.PoczatkowaPozycja(new Szachownica(wyborPozycji)); pionek.WybranyKolor(wyburKoloru); Console.WriteLine("Twoja figura to: " + pionek.NazwaFigury + ", kolor : " + pionek.WybranyKolor(wyburKoloru) + " , na pozycji : " + wyborPozycji); Console.Write("Podaj pozycję docelową : "); string nowaPozycja3 = Console.ReadLine(); Szachownica docelowaPozycja3 = new Szachownica(nowaPozycja3); if (pionek.CzyMozeRuszyc(docelowaPozycja3)) { Console.WriteLine("Ruch z: " + wyborPozycji + " na " + nowaPozycja3 + " jest OK"); } else { Console.WriteLine("Ruch z: " + wyborPozycji + " na " + nowaPozycja3 + " jest ZABRONIONY"); } break; default: Console.WriteLine("Zły wybór !"); break; } Console.Read(); }