Beispiel #1
0
        public void Kopia(Gra g)
        {
            licznik_bez_bic = g.licznik_bez_bic;

            kolej   = g.kolej;//nr gracza ktory ma wykonac ruch
            seria   = g.seria;
            wygrany = g.wygrany;
            koniec  = g.koniec;
            lp[0]   = g.lp[0];
            lp[1]   = g.lp[1];
            lk[0]   = g.lk[0];
            lk[1]   = g.lk[1];

            if (seria)
            {
                p_serii = new Pionek(g.p_serii);
            }

            pionki = new Pionek[2][];

            pionki[0] = new Pionek[12];
            pionki[1] = new Pionek[12];

            for (int j = 0; j <= 1; j++)
            {
                for (int i = 0; i <= 11; i++)
                {
                    pionki[j][i] = new Pionek(g.pionki[j][i]);
                }
            }
        }
Beispiel #2
0
        int gracz, wrog;   //kto jest kim


        public Graf(Gra stan, int g)
        {
            W      = new List <Wierz>();
            K      = new List <Kraw>();
            liscie = new List <Wierz>();


            gracz = g;
            if (gracz == 0)
            {
                wrog = 1;
            }
            else
            {
                wrog = 0;
            }

            Wierz w = new Wierz();

            w.gra = stan;
            Wierz ww = new Wierz(w, gracz);

            W.Add(ww);



            BudujGraf(Warstw.warstw);

            Wierz najlepsze;
            bool  over = false;

            for (int prog = BETA_MAX; prog != ALFA_MIN - 1; prog--)
            {
                if (!over)
                {
                    foreach (Wierz wyn in liscie)
                    {
                        if (!over)
                        {
                            if (prog == wyn.waga)
                            {
                                najlepsze = wyn;

                                foreach (Kraw ruch in K)
                                {
                                    if (ruch.k == najlepsze && ruch.p == ww)
                                    {
                                        wynik = ruch;
                                        over  = true;
                                        break;
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
Beispiel #3
0
        public Gra(Gra g)
        {
            lp = new int[2];

            lk = new int[2];

            Kopia(g);


            WczytajPlansze();
        }
Beispiel #4
0
        int Waga(Gra g, int gracz)//oblicza wartosc funkcji heurystycznej
        {
            int przeciwnik = 0;

            if (gracz == 0)
            {
                przeciwnik = 1;
            }


            return(g.lp[gracz] - g.lp[przeciwnik] + g.lk[gracz] * 10 - g.lk[przeciwnik] * 10);
        }
Beispiel #5
0
        public Warcaby()
        {
            InitializeComponent();
            pionek1  = Image.FromFile("graphics/p1.png");
            pionek2  = Image.FromFile("graphics/p2.png");
            krolowa1 = Image.FromFile("graphics/k1.png");
            krolowa2 = Image.FromFile("graphics/k2.png");



            gra = new Gra();
            OdsPlansze();
            wybor       = new Pionek(0);
            c           = new Pionek(0);
            w           = new Pionek(0);
            wybrano     = false;
            label3.Text = "Twoja kolej";
            label2.Text = "Czekaj";
            label4.Text = "";

            s0 = false;
            s1 = false;
        }
Beispiel #6
0
 public Wierz(Wierz f, int g)
 {
     gra        = new Gra(f.gra);
     rozwiniety = false;
     waga       = Waga(gra, g);
 }
Beispiel #7
0
        public bool rozwiniety; //czy ma juz ppotomkow



        public Wierz()
        {
            gra        = new Gra();
            rozwiniety = false;
            // waga = Waga(gra,);
        }
Beispiel #8
0
        void ObslugaPlanszy(int opt = 0) //obsluga opcji wyboru
        {
            if ((opt == 0) && (trwa))    //ruch
            {
                if (Czy_nie_pat(gra.kolej))
                {
                    if ((gra.plansza[wybor.w][wybor.r].zajete) && (!gra.seria))
                    {
                        wybrano = true;
                        Wyb();
                        InfoWyb();
                    }
                    else
                    {
                        InfoWyb();
                        if (wybrano)
                        {
                            Cel();

                            if (gra.Ruch(w, c))
                            {
                                if (gra.seria)
                                {
                                    w.r = c.r;
                                    w.w = c.w;
                                }
                            }


                            if (gra.seria)
                            {
                                wybrano = true;
                            }
                            else
                            {
                                wybrano = false;
                            }

                            OdsPlansze();

                            if (gra.kolej == 0)
                            {
                                label3.Text = "Twoja kolej";
                                label2.Text = "Czekaj";
                            }
                            else
                            {
                                label2.Text = "Twoja kolej";
                                label3.Text = "Czekaj";
                            }
                        }
                    }
                }
            }
            if (opt == 2)//wznownienie
            {
                wybrano = false;
            }
            if (opt == 3)//zatrzymanie
            {
                trwa = true;
            }
            if (opt == 1)//przyciska start
            {
                gra = new Gra();

                trwa          = false;
                button66.Text = "Start";
                label1.Text   = "Gra wstrzymana";

                wybrano = false;

                OdsPlansze();
            }
        }
Beispiel #9
0
 public SI(Gra g, int gracz)
 {
     G = new Graf(g, gracz);
 }