bool Przesun(Pionek wybor, Pionek cel) { for (int j = 0; j <= 11; j++) { if ((pionki[wybor.gracz][j].aktywny) && (wybor.r == pionki[wybor.gracz][j].r) && (wybor.w == pionki[wybor.gracz][j].w)) { if (wybor.god) { Pionek w = wybor; Pionek c = cel; Pionek bicie; bicie = new Pionek(1); if (!((w.r == c.r) || (w.w == c.w))) { int opt = 0; //znajduje rodzaj ukosu for (int i = 1; i <= 7; i++) { if ((w.w + i == c.w) && (w.r + i == c.r)) { opt = 1; } if ((w.w + i == c.w) && (w.r - i == c.r)) { opt = 2; } if ((w.w - i == c.w) && (w.r + i == c.r)) { opt = 3; } if ((w.w - i == c.w) && (w.r - i == c.r)) { opt = 4; } } if (opt == 0) { return(false); } //czy nie ma swojego pionka na trasie i jedno bicie int bic = 0; for (int i = 1; i <= Math.Abs(w.w - c.w); i++) { if (opt == 1) { if (plansza[w.w + i][w.r + i].zajete) { if (plansza[w.w + i][w.r + i].gracz != w.gracz) { if (bic < 1) { bicie.UstPoz(w.w + i, w.r + i); bic++; } } } } if (opt == 2) { if (plansza[w.w + i][w.r - i].zajete) { if (plansza[w.w + i][w.r - i].gracz != w.gracz) { if (bic < 1) { bicie.UstPoz(w.w + i, w.r - i); bic++; } } } } if (opt == 3) { if (plansza[w.w - i][w.r + i].zajete) { if (plansza[w.w - i][w.r + i].gracz != w.gracz) { if (bic < 1) { bicie.UstPoz(w.w - i, w.r + i); bic++; } } } } if (opt == 4) { if (plansza[w.w - i][w.r - i].zajete) { if (plansza[w.w - i][w.r - i].gracz != w.gracz) { if (bic < 1) { bicie.UstPoz(w.w - i, w.r - i); bic++; } } } } } if (!Wolny(w)) { if (bic != 1) { return(false); } } if (Wolny(w)) { if (bic != 0) { return(false); } } { Bij(bicie.w, bicie.r); licznik_bez_bic = 15; } } else if (!Wolny(wybor)) { return(false); } } pionki[wybor.gracz][j].UstPoz(cel.w, cel.r); Awans(pionki[wybor.gracz][j]); if (pionki[wybor.gracz][j].god) { licznik_bez_bic--; } WczytajPlansze(); return(true); } } return(false); }
private void button1_Click(object sender, EventArgs e) { wybor.UstPoz(7, 0); ObslugaPlanszy(); }