private RuchAI zwrocNajlepszyRuchZPierwszejPlanszy(Plansza plansza) { List <RuchAI> czarneRuchy = plansza.ZwrocWszystkieMozliweRuchy(Gracz.CZARNE); int min = 1000; RuchAI najlepszyCzarnyRuch = ruch0; foreach (var czarnyRuch in czarneRuchy) { plansza.WykonajRuch(czarnyRuch.x1, czarnyRuch.y1, czarnyRuch.x2, czarnyRuch.y2); List <RuchAI> bialeRuchy = plansza.ZwrocWszystkieMozliweRuchy(Gracz.BIALE); RuchAI najlepszyBialyRuch = bialeRuchy.Max(); if (najlepszyBialyRuch is null) { plansza.kontrolki.znajdzKroli(Gracz.CZARNE); plansza.kontrolki.Sprawdz(); if (plansza.kontrolki.czyMat || plansza.kontrolki.czyPat) { plansza.CofnijRuch(); return(czarnyRuch); } } else if (najlepszyBialyRuch.wartosc < min) { najlepszyCzarnyRuch = czarnyRuch; min = najlepszyBialyRuch.wartosc; } plansza.CofnijRuch(); } Console.Read(); return(najlepszyCzarnyRuch); }
public MainWindow(bool czyGraKomputer) { plansza = new Plansza(czyGraKomputer); this.czyGraKomputer = czyGraKomputer; if (czyGraKomputer) { ai = new AI(); } InitializeComponent(); utworzPola(); wczytajObrazkizPlikow(); rysujPlansze(); }
private void wczytajGreButton_Click(object sender, RoutedEventArgs e) { WczytajWindow oknoWczytywania = new WczytajWindow(); oknoWczytywania.ShowDialog(); Plansza plansza; if (oknoWczytywania.nazwa != null) { plansza = Plansza.OdczytajXML(oknoWczytywania.nazwa); MainWindow mainWindow = new MainWindow(plansza, plansza.czyGraKomputer); mainWindow.Closing += ShowMenu; mainWindow.Show(); this.Close(); } }
/// <summary> /// Obiekt do sprawdzania szachu, mata i pata na danej planszy /// </summary> public Kontrolki(Plansza plansza) { this.plansza = plansza; this.pola = plansza.Zwroc(); }
/// <summary> /// Zwraca najlepszy wedlug kompuetera ruch z danej jako parametr planszy /// </summary> public RuchAI ZwrocNajlepszyRuch(Plansza plansza) { return(zwrocNajlepszyRuchZPierwszejPlanszy(plansza)); }