コード例 #1
0
ファイル: Program.cs プロジェクト: dagmarasygitowicz/ahilon
        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));
        }
コード例 #2
0
ファイル: Program.cs プロジェクト: ssspica/kreczi
        static void Main(string[] args)
        {
            Pozycja p  = new Pozycja("05");
            Pozycja p2 = new Pozycja("04");
            Figura  f  = new Pionek(p);

            Console.WriteLine(f.CzyMoznaPrzesunac)
        }
コード例 #3
0
 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();
 }
コード例 #4
0
ファイル: KlasaReguly.cs プロジェクト: mateuszAiRKut/Projects
 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();
                 }
             }
         }
     }
 }
コード例 #5
0
        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);
        }
コード例 #6
0
        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);
        }
コード例 #7
0
ファイル: Menager_Figur.cs プロジェクト: heis125/Szachy_Unity
    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);
    }
コード例 #8
0
ファイル: Program.cs プロジェクト: dagmarasygitowicz/ahilon
        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);
        }
コード例 #9
0
ファイル: Program.cs プロジェクト: obscuri/Lab1
        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();
        }
コード例 #10
0
ファイル: KlasaReguly.cs プロジェクト: mateuszAiRKut/Projects
 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;
     }
 }
コード例 #11
0
ファイル: KlasaReguly.cs プロジェクト: mateuszAiRKut/Projects
        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();
                }
            }
        }