Esempio n. 1
0
        public List <Move> GetListaMogucihPoteza() //Get the list of possibilities
        {
            List <Move> potezi = TrenutnoStanje.GetListaPoteza(NaPotezu);

            foreach (Move p in potezi)
            {
                p.NarednoStanje   = new ContextMakao(new Tabla(TrenutnoStanje), NaPotezu);
                p.PrethodnoStanje = this;
                ObnovaStanja(p, NaPotezu);
                int sledeciNaPotezu = NaPotezu;
                if (sledeciNaPotezu == 1)
                {
                    sledeciNaPotezu = 2;
                }
                else
                {
                    sledeciNaPotezu = 1;
                }
                p.NarednoStanje.NaPotezu = sledeciNaPotezu;
                TipPoteza n = new TipPoteza();
                n = p.Tip;
                if (p.NarednoStanje.TrenutnoStanje.Ruka.Count() == 0)
                {
                    n = TipPoteza.Poslednja ^ p.Tip;
                }
                p.Tip = n;
            }
            if (potezi.Count() == 0)
            {
                potezi.Add(new Move(TipPoteza.KupiKartu));
            }
            return(potezi);
        }
Esempio n. 2
0
        public virtual int Evaluate()
        {
            List <Karta> zaBacanje = new List <Karta>();

            int bodovi = 0;

            if (TrenutnoStanje.Pobedio == 2)
            {
                return(-10000);
            }
            if (TrenutnoStanje.Pobedio == 1)
            {
                return(10000);
            }
            bodovi += TrenutnoStanje.BodoviEvaluacija();
            bodovi += TrenutnoStanje.Ruka.Count() * 100;
            if (TrenutnoStanje.Pobedio == 1)
            {
                return(bodovi);
            }
            else
            {
                return(-bodovi);
            }
        }
Esempio n. 3
0
        public List <Potez> GetListaMogucihPoteza()
        {
            List <Potez> potezi = TrenutnoStanje.GetListaPoteza();

            potezi.ForEach(x =>
            {
                string info;
                x.PrethodnoStanje = this;
                x.NarednoStanje   = new ContextIksOks(new Tabla(TrenutnoStanje), NaPotezu);
                x.NarednoStanje.TrenutnoStanje.Potez(NaPotezu, x.x, x.y, out info);
                x.NarednoStanje.Sledeci();
            });
            return(potezi);
        }
Esempio n. 4
0
 public void  PotezProtivnika(List <Karta> karte, Boja boja, int BrojKarataProtivnika)
 {
     TrenutnoStanje.PotezProtivnika(karte, boja, BrojKarataProtivnika);
 }
Esempio n. 5
0
 public void DodajURuku(List <Karta> izvuceneKArte)
 {
     TrenutnoStanje.DodajURuku(izvuceneKArte);
 }