コード例 #1
0
        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();
            }
        }
コード例 #2
0
 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);
     }
 }
コード例 #3
0
 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);
 }
コード例 #4
0
 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);
 }
コード例 #5
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;
     }
 }