Exemple #1
0
        public static Ruch ObliczRuch()
        {
            var start      = DateTime.Now;
            var ruchPamiec = plansza.CzyJestWolneMiejsceNaPlanszy(rozm);

            plansza.ZnajdzWszystkieMozliwosciRuchu(start);

            if (drzewo == null)
            {
                drzewo = plansza.ZbudujDrzewo(start);

                if (drzewo != null)
                {
                    drzewo.korzeń.OszacujSzanse(start);
                }
            }

            if (drzewo != null)
            {
                var optymalny = drzewo.ZnajdzOptymalnyRuch(plansza, start);
                if (optymalny != null)
                {
                    return(optymalny);
                }
            }

            return(ruchPamiec);
        }
Exemple #2
0
        public Drzewo ZbudujDrzewo(DateTime start)
        {
            var drzewo = new Drzewo(new Węzeł(null, null, SkopiujPole(this), Węzeł.Strona.przeciwnik));

            drzewo.korzeń.DodajDzieci(start);

            var czas = DateTime.Now - start;

            return(drzewo);
        }