示例#1
0
 public Wezel(Plansza pl, Operacje operacje, Ruch r)
 {
     refkaParenta   = new Wezel();
     ruch           = new Ruch();
     ruch           = r;
     plansza        = new Plansza();
     lista_potomkow = new List <Wezel>();
     //ocena = suma;
     plansza.uaktualnijStanPlanszy(pl.stan);
 }
示例#2
0
        public void dodajWezel(Ruch ruch, bool Min, bool Max, int zawodnik, Operacje operacje, Wezel parent)
        {
            min = Min;
            max = Max;
            Plansza temp = new Plansza();

            temp.uaktualnijStanPlanszy(plansza.stan);
            operacje.wykonajRuchIZmienStanPlanszy(zawodnik, ruch, temp.stan);
            //int nowaOcena = this.ocena + wartosc;
            refkaParenta = parent;
            lista_potomkow.Add(new Wezel(temp, operacje, 0, ruch, parent));
        }
示例#3
0
 public MainWindow()
 {
     InitializeComponent();
     plansza  = new Plansza();
     operacje = new Operacje();
     drzewo   = new Drzewo();
     rand     = new Random();
     generateInsults();
     losujRozmieszczenieTygrysow();
     //debugBox.SetStyle(ControlStyles.SupportsTransparentBackColor, true);
     //debugBox.set
 }
示例#4
0
 public void generujBiciaWilkow(int Zawodnik, Plansza pl)
 {
     for (int i = 0; i < 9; i = i + 2)
     {
         for (int j = 0; j < 9; j = j + 2)
         {
             if (pl.temp[i, j] == 0)
             {
                 if (i + 4 <= 8)
                 {
                     if (pl.temp[i + 4, j] == Zawodnik && pl.temp[i + 2, j] != Zawodnik && pl.temp[i + 2, j] != 0 && pl.temp[i + 3, j] == 4 && pl.temp[i + 1, j] == 4)
                     {
                         Ruch ri = new Ruch();
                         ri.bicie        = true;
                         ri.bityPionek.x = i + 2;
                         ri.bityPionek.y = j;
                         ri.skad.x       = i + 4; ri.skad.y = j;
                         ri.dokad.x      = i; ri.dokad.y = j;
                         ListaBic.Add(ri);
                         //PrzypiszRuch_ZmienStanPlanszy(Zawodnik, i, j, pl, 4, 0);
                     }
                 }
                 if (i + 4 <= 8 && j + 4 <= 8)
                 {
                     if (pl.temp[i + 4, j + 4] == Zawodnik && pl.temp[i + 2, j + 2] != Zawodnik && pl.temp[i + 2, j + 2] != 0 && pl.temp[i + 3, j + 3] == 6 && pl.temp[i + 1, j + 1] == 6)
                     {
                         Ruch ri = new Ruch();
                         ri.bicie        = true;
                         ri.bityPionek.x = i + 2;
                         ri.bityPionek.y = j + 2;
                         ri.skad.x       = i + 4; ri.skad.y = j + 4;
                         ri.dokad.x      = i; ri.dokad.y = j;
                         ListaBic.Add(ri);
                     }
                 }
                 if (j + 4 <= 8)
                 {
                     if (pl.temp[i, j + 4] == Zawodnik && pl.temp[i, j + 2] != Zawodnik && pl.temp[i, j + 2] != 0 && pl.temp[i, j + 3] == 3 && pl.temp[i, j + 1] == 3)
                     {
                         Ruch ri = new Ruch();
                         ri.bicie        = true;
                         ri.bityPionek.x = i;
                         ri.bityPionek.y = j + 2;
                         ri.skad.x       = i; ri.skad.y = j + 4;
                         ri.dokad.x      = i; ri.dokad.y = j;
                         ListaBic.Add(ri);
                     }
                 }
                 if (i - 4 >= 0 && j + 4 <= 8)
                 {
                     if (pl.temp[i - 4, j + 4] == Zawodnik && pl.temp[i - 2, j + 2] != Zawodnik && pl.temp[i - 2, j + 2] != 0 && pl.temp[i - 3, j + 3] == 5 && pl.temp[i - 1, j + 1] == 5)
                     {
                         Ruch ri = new Ruch();
                         ri.bicie        = true;
                         ri.bityPionek.x = i - 2;
                         ri.bityPionek.y = j + 2;
                         ri.skad.x       = i - 4; ri.skad.y = j + 4;
                         ri.dokad.x      = i; ri.dokad.y = j;
                         ListaBic.Add(ri);
                     }
                 }
                 if (i - 4 >= 0)
                 {
                     if (pl.temp[i - 4, j] == Zawodnik && pl.temp[i - 2, j] != Zawodnik && pl.temp[i - 2, j] != 0 && pl.temp[i - 3, j] == 4 && pl.temp[i - 1, j] == 4)
                     {
                         Ruch ri = new Ruch();
                         ri.bicie        = true;
                         ri.bityPionek.x = i - 2;
                         ri.bityPionek.y = j;
                         ri.skad.x       = i - 4; ri.skad.y = j;
                         ri.dokad.x      = i; ri.dokad.y = j;
                         ListaBic.Add(ri);
                     }
                 }
                 if (i - 4 >= 0 && j - 4 >= 0)
                 {
                     if (pl.temp[i - 4, j - 4] == Zawodnik && pl.temp[i - 2, j - 2] != Zawodnik && pl.temp[i - 2, j - 2] != 0 && pl.temp[i - 3, j - 3] == 6 && pl.temp[i - 1, j - 1] == 6)
                     {
                         Ruch ri = new Ruch();
                         ri.bicie        = true;
                         ri.bityPionek.x = i - 2;
                         ri.bityPionek.y = j - 2;
                         ri.skad.x       = i - 4; ri.skad.y = j - 4;
                         ri.dokad.x      = i; ri.dokad.y = j;
                         ListaBic.Add(ri);
                     }
                 }
                 if (j - 4 >= 0)
                 {
                     if (pl.temp[i, j - 4] == Zawodnik && pl.temp[i, j - 2] != Zawodnik && pl.temp[i, j - 2] != 0 && pl.temp[i, j - 3] == 3 && pl.temp[i, j - 1] == 3)
                     {
                         Ruch ri = new Ruch();
                         ri.bicie        = true;
                         ri.bityPionek.x = i;
                         ri.bityPionek.y = j - 2;
                         ri.skad.x       = i; ri.skad.y = j - 4;
                         ri.dokad.x      = i; ri.dokad.y = j;
                         ListaBic.Add(ri);
                     }
                 }
                 if (i + 4 <= 8 && j - 4 >= 0)
                 {
                     if (pl.temp[i + 4, j - 4] == Zawodnik && pl.temp[i + 2, j - 2] != Zawodnik && pl.temp[i + 2, j - 2] != 0 && pl.temp[i + 3, j - 3] == 5 && pl.temp[i + 1, j - 1] == 5)
                     {
                         Ruch ri = new Ruch();
                         ri.bicie        = true;
                         ri.bityPionek.x = i + 2;
                         ri.bityPionek.y = j - 2;
                         ri.skad.x       = i + 4; ri.skad.y = j - 4;
                         ri.dokad.x      = i; ri.dokad.y = j;
                         ListaBic.Add(ri);
                     }
                 }
             }
         }
     }
     //Console.WriteLine(LBic.Count);
 }
示例#5
0
 public List <Ruch> ListaBic    = new List <Ruch>(); //Lista zawierająca listę możliwych do wykonania bić przez wilka w danym czasie
 public void generujMozliweRuchyOwiec(int Zawodnik, Plansza pl)
 {
     for (int i = 0; i < 9; i = i + 2)
     {
         for (int j = 0; j < 9; j = j + 2)
         {
             if (pl.temp[i, j] == 0)
             {
                 if (i - 2 >= 0)
                 {
                     if (pl.temp[i - 2, j] == Zawodnik && pl.temp[i - 1, j] == 4)
                     {
                         Ruch r = new Ruch();
                         r.skad.x  = i - 2; r.skad.y = j;
                         r.dokad.x = i; r.dokad.y = j;
                         ListaRuchow.Add(r);
                     }
                 }
                 if (i - 2 >= 0 && j + 2 <= 8)
                 {
                     if (pl.temp[i - 2, j + 2] == Zawodnik && pl.temp[i - 1, j + 1] == 5)
                     {
                         Ruch r = new Ruch();
                         r.skad.x  = i - 2; r.skad.y = j + 2;
                         r.dokad.x = i; r.dokad.y = j;
                         ListaRuchow.Add(r);
                     }
                 }
                 if (j + 2 <= 8)
                 {
                     if (pl.temp[i, j + 2] == Zawodnik && pl.temp[i, j + 1] == 3)
                     {
                         Ruch r = new Ruch();
                         r.skad.x  = i; r.skad.y = j + 2;
                         r.dokad.x = i; r.dokad.y = j;
                         ListaRuchow.Add(r);
                     }
                 }
                 if (j + 2 <= 8 && i + 2 <= 8)
                 {
                     if (pl.temp[i + 2, j + 2] == Zawodnik && pl.temp[i + 1, j + 1] == 6)
                     {
                         Ruch r = new Ruch();
                         r.skad.x  = i + 2; r.skad.y = j + 2;
                         r.dokad.x = i; r.dokad.y = j;
                         ListaRuchow.Add(r);
                     }
                 }
                 if (i + 2 <= 8)
                 {
                     if (pl.temp[i + 2, j] == Zawodnik && pl.temp[i + 1, j] == 4)
                     {
                         Ruch r = new Ruch();
                         r.skad.x  = i + 2; r.skad.y = j;
                         r.dokad.x = i; r.dokad.y = j;
                         ListaRuchow.Add(r);
                     }
                 }
                 if (j - 2 >= 0 && i + 2 <= 8)
                 {
                     if (pl.temp[i + 2, j - 2] == Zawodnik && pl.temp[i + 1, j - 1] == 5)
                     {
                         Ruch r = new Ruch();
                         r.skad.x  = i + 2; r.skad.y = j - 2;
                         r.dokad.x = i; r.dokad.y = j;
                         ListaRuchow.Add(r);
                     }
                 }
                 if (j - 2 >= 0)
                 {
                     if (pl.temp[i, j - 2] == Zawodnik && pl.temp[i, j - 1] == 3)
                     {
                         Ruch r = new Ruch();
                         r.skad.x  = i; r.skad.y = j - 2;
                         r.dokad.x = i; r.dokad.y = j;
                         ListaRuchow.Add(r);
                     }
                 }
                 if (j - 2 >= 0 && i - 2 >= 0)
                 {
                     if (pl.temp[i - 2, j - 2] == Zawodnik && pl.temp[i - 1, j - 1] == 6)
                     {
                         Ruch r = new Ruch();
                         r.skad.x  = i - 2; r.skad.y = j - 2;
                         r.dokad.x = i; r.dokad.y = j;
                         ListaRuchow.Add(r);
                     }
                 }
             }
         }
     }
 }
示例#6
0
        public void generujMozliweRuchyWilkow(int Zawodnik, Plansza pl)
        {
            for (int i = 0; i < 9; i = i + 2)
            {
                for (int j = 0; j < 9; j = j + 2)
                {
                    if (pl.temp[i, j] == 0)
                    {
                        //przejscie gora
                        if (i + 2 <= 8)
                        {
                            if (pl.temp[i + 2, j] == Zawodnik && pl.temp[i + 1, j] == 4)
                            {
                                int a = i;
                                while (a >= 0)
                                {
                                    if (pl.temp[a, j] == 0 && pl.temp[a + 1, j] == 4)
                                    {
                                        Ruch ri = new Ruch();
                                        ri.skad.x  = i + 2; ri.skad.y = j;
                                        ri.dokad.x = a; ri.dokad.y = j;
                                        ListaRuchow.Add(ri);
                                        a -= 2;
                                        // Console.WriteLine("dodatkowy");
                                    }
                                    else
                                    {
                                        break;
                                    }
                                }
                            }
                        }
                        //przejscie dol
                        if (i - 2 >= 0)
                        {
                            if (pl.temp[i - 2, j] == Zawodnik && pl.temp[i - 1, j] == 4)
                            {
                                int a = i;
                                while (a <= 8)
                                {
                                    if (pl.temp[a, j] == 0 && pl.temp[a - 1, j] == 4)
                                    {
                                        Ruch ri = new Ruch();
                                        ri.skad.x  = i - 2; ri.skad.y = j;
                                        ri.dokad.x = a; ri.dokad.y = j;
                                        ListaRuchow.Add(ri);
                                        a += 2;
                                        // Console.WriteLine("dodatkowy");
                                    }
                                    else
                                    {
                                        break;
                                    }
                                }
                            }
                        }

                        //przejscie lewo
                        if (j + 2 <= 8)
                        {
                            if (pl.temp[i, j + 2] == Zawodnik && pl.temp[i, j + 1] == 3)
                            {
                                int a = j;
                                while (a >= 0)
                                {
                                    if (pl.temp[i, a] == 0 && pl.temp[i, a + 1] == 3)
                                    {
                                        Ruch ri = new Ruch();
                                        ri.skad.x  = i; ri.skad.y = j + 2;
                                        ri.dokad.x = i; ri.dokad.y = a;
                                        ListaRuchow.Add(ri);
                                        a -= 2;
                                        // Console.WriteLine("dodatkowy");
                                    }
                                    else
                                    {
                                        break;
                                    }
                                }
                            }
                        }
                        //przejscie prawo
                        if (j - 2 >= 0)
                        {
                            if (pl.temp[i, j - 2] == Zawodnik && pl.temp[i, j - 1] == 3)
                            {
                                int a = j;
                                while (a <= 8)
                                {
                                    if (pl.temp[i, a] == 0 && pl.temp[i, a - 1] == 3)
                                    {
                                        Ruch ri = new Ruch();
                                        ri.skad.x  = i; ri.skad.y = j - 2;
                                        ri.dokad.x = i; ri.dokad.y = a;
                                        ListaRuchow.Add(ri);
                                        a += 2;
                                        // Console.WriteLine("dodatkowy");
                                    }
                                    else
                                    {
                                        break;
                                    }
                                }
                            }
                        }
                        //przejscie lewo gora
                        if (j + 2 <= 8 && i + 2 <= 8)
                        {
                            if (pl.temp[i + 2, j + 2] == Zawodnik && pl.temp[i + 1, j + 1] == 6)
                            {
                                int a = i;
                                int b = j;
                                while (a >= 0 && b >= 0)
                                {
                                    if (pl.temp[a, b] == 0 && pl.temp[a + 1, b + 1] == 6)
                                    {
                                        Ruch ri = new Ruch();
                                        ri.skad.x  = i + 2; ri.skad.y = j + 2;
                                        ri.dokad.x = a; ri.dokad.y = b;
                                        ListaRuchow.Add(ri);
                                        a -= 2;
                                        b -= 2;
                                        // Console.WriteLine("dodatkowy");
                                    }
                                    else
                                    {
                                        break;
                                    }
                                }
                            }
                        }
                        //przejscie dol-lewo
                        if (i - 2 >= 0 && j + 2 <= 8)
                        {
                            if (pl.temp[i - 2, j + 2] == Zawodnik && pl.temp[i - 1, j + 1] == 5)
                            {
                                int a = i;
                                int b = j;
                                while (a <= 8 && b >= 0)
                                {
                                    if (pl.temp[a, b] == 0 && pl.temp[a - 1, b + 1] == 5)
                                    {
                                        Ruch ri = new Ruch();
                                        ri.skad.x  = i - 2; ri.skad.y = j + 2;
                                        ri.dokad.x = a; ri.dokad.y = b;
                                        ListaRuchow.Add(ri);
                                        a += 2;
                                        b -= 2;
                                        // Console.WriteLine("dodatkowy");
                                    }
                                    else
                                    {
                                        break;
                                    }
                                }
                            }
                        }
                        //przejscie prawo gora
                        if (j - 2 >= 0 && i + 2 <= 8)
                        {
                            if (pl.temp[i + 2, j - 2] == Zawodnik && pl.temp[i + 1, j - 1] == 5)
                            {
                                int a = i;
                                int b = j;
                                while (a >= 0 && b <= 8)
                                {
                                    if (pl.temp[a, b] == 0 && pl.temp[a + 1, b - 1] == 5)
                                    {
                                        Ruch ri = new Ruch();
                                        ri.skad.x  = i + 2; ri.skad.y = j - 2;
                                        ri.dokad.x = a; ri.dokad.y = b;
                                        ListaRuchow.Add(ri);
                                        a -= 2;
                                        b += 2;
                                        // Console.WriteLine("dodatkowy");
                                    }
                                    else
                                    {
                                        break;
                                    }
                                }
                            }
                        }

                        //przejscie prawo dol
                        if (j - 2 >= 0 && i - 2 >= 0)
                        {
                            if (pl.temp[i - 2, j - 2] == Zawodnik && pl.temp[i - 1, j - 1] == 6)
                            {
                                int a = i;
                                int b = j;
                                while (a <= 8 && b <= 8)
                                {
                                    if (pl.temp[a, b] == 0 && pl.temp[a - 1, b - 1] == 6)
                                    {
                                        Ruch ri = new Ruch();
                                        ri.skad.x  = i - 2; ri.skad.y = j - 2;
                                        ri.dokad.x = a; ri.dokad.y = b;
                                        ListaRuchow.Add(ri);
                                        a += 2;
                                        b += 2;
                                        // Console.WriteLine("dodatkowy");
                                    }
                                    else
                                    {
                                        break;
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }