示例#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);
        }
示例#2
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);
        }