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]); } } }
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; } } } } } } } }
public Gra(Gra g) { lp = new int[2]; lk = new int[2]; Kopia(g); WczytajPlansze(); }
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); }
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; }
public Wierz(Wierz f, int g) { gra = new Gra(f.gra); rozwiniety = false; waga = Waga(gra, g); }
public bool rozwiniety; //czy ma juz ppotomkow public Wierz() { gra = new Gra(); rozwiniety = false; // waga = Waga(gra,); }
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(); } }
public SI(Gra g, int gracz) { G = new Graf(g, gracz); }