public static Figura GenerujFigure(TypFigury t, Pozycja p, string kolor) { switch (t) { case TypFigury.Goniec: { return(new Goniec(p, kolor)); } case TypFigury.Hetman: { return(new Hetman(p, kolor)); } case TypFigury.Pionek: { return(new Pionek(p, kolor)); } case TypFigury.Wieza: { return(new Wieza(p, kolor)); } default: { throw new ArgumentException("Nie ma takiego typu figury"); } } }
public virtual bool CzyMoznaPrzesunac(Pozycja nowaPozycja) { return(CzyPionowo(nowaPozycja) || CzyPoziomo(nowaPozycja) || CzySkos(nowaPozycja)); }
public Figura(Pozycja pozycja, string kolor) { OnZmianaPozycji += PozycjaZmieniona; this.pozycja = pozycja; this.kolor = kolor; }
protected bool CzyPoziomo(Pozycja nowaPozycja) { return(Pozycja.X == nowaPozycja.X); }
protected bool CzySkos(Pozycja nowaPozycja) { return(Math.Abs(Pozycja.Y - nowaPozycja.Y) == Math.Abs(Pozycja.X - nowaPozycja.X)); }
public Pionek(Pozycja pozycja, string kolor) : base(pozycja, kolor) { }
protected bool CzyPionowo(Pozycja nowaPozycja) { return(Pozycja.Y == nowaPozycja.Y); }
public virtual bool CzyMoznaPrzesunac(Pozycja nowaPozycja) { return(CzySkos(nowaPozycja)); }
public Goniec(Pozycja pozycja, string kolor) : base(pozycja, kolor) { }
public Figura(Pozycja pozycja, string kolor) { this.pozycja = pozycja; this.kolor = kolor; }
public Hetman(Pozycja pozycja, string kolor) : base(pozycja, kolor) { }
public Wieza(Pozycja pozycja, string kolor) : base(pozycja, kolor) { }