private void RuchKomputera() { int x = -1, y = -1, max = -1; for (int i = 0; i <= Size; i++) { for (int j = 0; j <= Size; j++) { int wartoscRuchu = ObliczWartoscRuchu(i, j); // element losowosci ;) if (max == wartoscRuchu && (new Random().Next() % 5 > 2)) { continue; } if (wartoscRuchu >= max) { max = wartoscRuchu; x = i; y = j; } } } if (x != -1 || y != -1) { Pola.Zaznacz(Obiekt, x, y); if (Pola.SprawdzWygrana()) { Wygrana = Obiekt; } ZmienRuch(); } }
private int WartoscPola(int x, int y) { Plansza.OBIEKT o = Pola.Pole(x, y); if (o == Obiekt) { return(5); } else if (o == Plansza.OBIEKT.puste) { return(1); } else { return(6); } }
public bool Rusz(int x, int y) { if (Ruch != RUCH.CZLOWIEKA || Pola.Pole(x, y) != Plansza.OBIEKT.puste) { return(false); } Pola.Zaznacz(Obiekt, x, y); if (Pola.SprawdzWygrana()) { Wygrana = Obiekt; } else { ZmienRuch(); } return(true); }
private int SprawdzCzyPowodujeWygrana(int x, int y) { Plansza.OBIEKT przeciwnik = Obiekt == Plansza.OBIEKT.kolko ? Plansza.OBIEKT.krzyzyk : Plansza.OBIEKT.kolko; Pola.Zaznacz(przeciwnik, x, y); if (Pola.SprawdzWygrana()) { Pola.Zaznacz(Plansza.OBIEKT.puste, x, y); return(200); } Pola.Zaznacz(Obiekt, x, y); if (Pola.SprawdzWygrana()) { Pola.Zaznacz(Plansza.OBIEKT.puste, x, y); return(300); } Pola.Zaznacz(Plansza.OBIEKT.puste, x, y); return(0); }
private void ZmienRuch() { if (Obiekt == Plansza.OBIEKT.kolko) { Obiekt = Plansza.OBIEKT.krzyzyk; } else { Obiekt = Plansza.OBIEKT.kolko; } if (Ruch == RUCH.CZLOWIEKA) { Ruch = RUCH.KOMPUTERA; RuchKomputera(); } else { Ruch = RUCH.CZLOWIEKA; } }