static void Main(string[] args) { Pozycja p = new Pozycja("B5"); Pozycja p2 = new Pozycja("D4"); Figura f = new Pionek(p, Figura.KOLOR_BIALY); Console.WriteLine(f.CzyMoznaPrzesunac(p2)); }
static void Main(string[] args) { Pozycja p = new Pozycja("05"); Pozycja p2 = new Pozycja("04"); Figura f = new Pionek(p); Console.WriteLine(f.CzyMoznaPrzesunac) }
static void Main(string[] args) { Pozycja p = new Pozycja("B5"); Pozycja p2 = new Pozycja("D4"); Figura f = new Pionek(p, Kolor.KOLOR_BIALY); Console.WriteLine(f.CzyMoznaPrzesunac(p2)); PrzesunietoFigure=InfoOPresunieciu; szachownica.IleFigur(); }
private static void czyMoznaWykonacRuchDamka(Pole[] tablica, List <Pionek> listaPionkowCzerwony, List <Pionek> listaPionkowBialy, int wiersz, int kolumna, int liczbaWierszy, int liczbaKolumn, bool czyLewo, bool czyTylkoSprawdzacZbijanie) { wiersz = (Gracz == GraczWybor.Czerwony) ? wiersz + 1 : wiersz - 1; for (int i = 0; i < 2; i++, wiersz = (Gracz == GraczWybor.Czerwony) ? wiersz - 2 : wiersz + 2) { Pionek zbijanyPionek = null; bool flagaSprawdzania = false; for (int wierszPomocniczy = wiersz, kolumnaPomocnicza = kolumna, liczbaPionkowPrzeciwnika = 0; (wierszPomocniczy >= 1 && wierszPomocniczy <= liczbaWierszy) && (kolumnaPomocnicza >= 1 && kolumnaPomocnicza <= liczbaKolumn); wierszPomocniczy = (Gracz == GraczWybor.Bialy) ? (i == 0 ? wierszPomocniczy - 1 : wierszPomocniczy + 1) :(i == 0 ? wierszPomocniczy + 1:wierszPomocniczy - 1), kolumnaPomocnicza = (czyLewo? kolumnaPomocnicza - 1 : kolumnaPomocnicza + 1)) { if (liczbaPionkowPrzeciwnika == 2) { break; } Pole p = tablica.Where((pole) => pole.Wiersz == wierszPomocniczy && pole.Kolumna == kolumnaPomocnicza).First(); if (!czyStoiPionekNaTymPolu(p, (Gracz == GraczWybor.Czerwony) ? listaPionkowBialy : listaPionkowCzerwony)) { if (!czyStoiPionekNaTymPolu(p, (Gracz == GraczWybor.Czerwony) ? listaPionkowCzerwony : listaPionkowBialy)) { if ((!czyTylkoSprawdzacZbijanie || flagaSprawdzania)) { if (liczbaPionkowPrzeciwnika == 1 && zbijanyPionek != null) { listaWybranychPol.Add(new WybranePola() { Kolor = p.Obszar.Fill, WybranePole = p, ZbijanyPionek = zbijanyPionek }); } else { listaWybranychPol.Add(new WybranePola() { Kolor = p.Obszar.Fill, WybranePole = p }); } p.Obszar.Fill = Brushes.Blue; } } else { break; } } else { liczbaPionkowPrzeciwnika++; flagaSprawdzania = true; List <Pionek> lista = (Gracz == GraczWybor.Bialy) ? listaPionkowCzerwony.Where((pionek) => pionek.Wiersz == wierszPomocniczy && pionek.Kolumna == kolumnaPomocnicza).ToList() : listaPionkowBialy.Where((pionek) => pionek.Wiersz == wierszPomocniczy && pionek.Kolumna == kolumnaPomocnicza).ToList(); if (lista.Count != 0) { zbijanyPionek = lista.First(); } } } } }
public void SprawdzRuchDoBiciaTest() { Pionek target = new Pionek(Gracz.CZARNE); int x1 = 4; int x2 = 5; int y1 = 5; int y2 = 6; bool expected = true; bool actual = target.SprawdzRuchDoBicia(x1, y1, x2, y2); Assert.AreEqual(expected, actual); }
public void SprawdzRuchNaPustejPlanszyTest() { Pionek target = new Pionek(Gracz.CZARNE); int x1 = 5; int x2 = 5; int y1 = 2; int y2 = 3; bool expected = true; bool actual = target.SprawdzRuchNaPustejPlanszy(x1, y1, x2, y2); Assert.AreEqual(expected, actual); }
public void Promowanie_Figury(Pionek pionek, Cell cell, Color kolor_Druzyny, Color kolor_Figury) { // zabic pionka pionek.Zabij(); //stworzenie nowego Bazowa_Figura Promowany = Stworz_F(typeof(Dama)); Promowany.Zaladuj(kolor_Druzyny, kolor_Figury, this); // postawic Promowany.Miejsce(cell); // dodac Promowane.Add(Promowany); }
static void Main(string[] args) { Pozycja p = new Pozycja("B5"); Pozycja p2 = new Pozycja("D4"); Figura f = new Pionek(p, Kolor.KOLOR_BIALY); Console.WriteLine(f.CzyMoznaPrzesunac(p2)); Console.ReadKey(); Pionek p4 = new Pionek(p, Kolor.KOLOR_CZARNY); p4.CzyMoznaPrzesunac(p); Console.WriteLine(p4.CzyMoznaPrzesunac(p2) + " " + p4.kolor); }
public static void Main(string[] args) { Pozycja p = new Pozycja("B5"); Pozycja p2 = new Pozycja("D4"); Figura f = new Pionek(p, Kolor.KOLOR_BIALY); f.Pozycja = new Pozycja("C2"); Console.WriteLine(f.CzyMoznaPrzesunac(p2)); Szachownica sz = new Szachownica(); sz['A', 1] = "test"; Console.WriteLine(sz['A', 1]); Console.ReadKey(); }
private static void czyPionekMozeBycDamka(Pionek p) { if (Gracz == GraczWybor.Czerwony && p.Wiersz == 8) { p.Obszar.Stroke = Brushes.Black; p.Obszar.StrokeThickness = 3; p.Damka = true; } else if (Gracz == GraczWybor.Bialy && p.Wiersz == 1) { p.Obszar.Stroke = Brushes.Black; p.Obszar.StrokeThickness = 3; p.Damka = true; } }
public static void WykonajRuchLubBicie(object sender, MouseButtonEventArgs e) { Rectangle obszar = sender as Rectangle; if (obszar != null && obszar.Fill == Brushes.Blue) { Pionek p = KlasaPlansza.WybranyPionek; Point punkt = e.GetPosition(KlasaPlansza.PoleGry); int kolumna = 0, wiersz = 0; for (int i = 0, dol = i * KlasaPlansza.DlugoscBoku, gora = dol + KlasaPlansza.DlugoscBoku; i < 8; i++, dol = i * KlasaPlansza.DlugoscBoku, gora = dol + KlasaPlansza.DlugoscBoku) { if (punkt.X >= dol && punkt.X <= gora) { kolumna = (i + 1); } else if (punkt.Y >= dol && punkt.Y <= gora) { wiersz = (i + 1); } } WybranePola wybor = listaWybranychPol.Where((wybrane) => wybrane.WybranePole.Wiersz == wiersz && wybrane.WybranePole.Kolumna == kolumna).First(); Canvas.SetLeft(p.Obszar, Canvas.GetLeft(p.Obszar) + KlasaPlansza.DlugoscBoku * (wybor.WybranePole.Kolumna - p.Kolumna)); Canvas.SetTop(p.Obszar, Canvas.GetTop(p.Obszar) + KlasaPlansza.DlugoscBoku * (wybor.WybranePole.Wiersz - p.Wiersz)); p.Kolumna = wybor.WybranePole.Kolumna; p.Wiersz = wybor.WybranePole.Wiersz; if (wybor.ZbijanyPionek != null) { KlasaPlansza.PoleGry.Children.Remove(wybor.ZbijanyPionek.Obszar); KlasaPlansza.UsunPionek(wybor.ZbijanyPionek); if (Gracz == GraczWybor.Bialy) { MainWindow.ZbitePionkiCzerwone.Text = "x" + (++zbiteCzerwone); } else { MainWindow.ZbitePionkiBiale.Text = "x" + (++zbiteBiale); } UsunMozliweRuchy(); Point nowyPunkt = e.GetPosition(KlasaPlansza.PoleGry); KlasaPlansza.NaJakimPoluStoiPionek(nowyPunkt, Gracz, true); WTrakcieBicia = true; if (listaWybranychPol.Count != 0) { return; } } KlasaAnimacja.Animacja.Remove(p.Obszar); KlasaAnimacja.Flaga = true; UsunMozliweRuchy(); WTrakcieBicia = false; if (SprawdzCzyKoniecGry()) { MainWindow.KtoryGracz.Text = "Wygrał Gracz: " + (Gracz == GraczWybor.Czerwony ? "Gracz2" : "Gracz1"); } else { czyPionekMozeBycDamka(KlasaPlansza.WybranyPionek); Gracz = (Gracz == GraczWybor.Czerwony) ? GraczWybor.Bialy : GraczWybor.Czerwony; MainWindow.KtoryGracz.Text = "Ruch: " + (Gracz == GraczWybor.Czerwony ? "Gracz2" : "Gracz1"); listaZablokowanychPionkow.Clear(); } } }