Ejemplo n.º 1
0
        private Move1000 LoadMove(Karta card)
        {
            cards[Player].Remove(card);
            bool wontMarriage = true;// później będzie można dodać decyzje
            //czy inteligencja chce kozery
            bool marriage = false;

            if (ObsugaTysiąc.IstniejeMeldunek(card, cards[Player]) && wontMarriage)
            {
                EnebleKozera = marriage = true;
                scoreInCurentGame[Player] += ObsugaTysiąc.WartościMeldunków(card);
            }
            cardOnTable[NumberCardInTable++] = card;
            if (NumberCardInTable == amountPlayer)
            {
                int IndexWiner = ObsugaTysiąc.FindWinner(EnebleKozera, Kozera, Player, cardOnTable);
                scoreInCurentGame[IndexWiner] += ObsugaTysiąc.ScoreInTable(cardOnTable);
                NumberCardInTable              = 0;
                Player = IndexWiner;
            }
            else
            {
                NextPlaeyr();
            }
            return(new Move1000()
            {
                card = card, Marriage = marriage
            });
        }
Ejemplo n.º 2
0
        public List <Karta> GetValidCards(List <Karta> ls, StateGame1000 s)
        {
            int[]        max = BasicTools.InitializeTable(4, ValueIfCardsDontExist);
            List <Karta> zw  = new List <Karta>(ls.Count);

            GetMaxCards(max, ls);
            zw.AddRange(IntToCard(max));
            zw.AddRange(ObsugaTysiąc.GetAllQueenIfMariage(ls));
            return(zw);
        }
Ejemplo n.º 3
0
        private List <Karta> GetAvilibleCards()
        {
            ResultMoveGame resultMove;
            var            avilibleCards = ObsugaTysiąc.ZaładujDostepneKartyWitchResult(cards[Player], cardOnTable.Take(NumberCardInTable).ToList(), EnebleKozera, Kozera, out resultMove);

            foreach (var item in defineRoleconst)
            {
                if (item.IsContext(this, resultMove))
                {
                    avilibleCards = item.GetValidCards(avilibleCards, this);
                    if (item.IsEnded)
                    {
                        break;
                    }
                }
            }
            return(avilibleCards);
        }
 private void ConclusionAboutMaxCards(IList <Karta> table, bool enebleAtute, Karta atute)
 {
     if (table.Count > 1 && !ObsugaTysiąc.LastWin(table, enebleAtute, atute, out bool usingAtute, out bool usingSuit))
     {
         Karta last  = table.Last();
         Karta first = table.First();
         if (!usingSuit)
         {
             TheMostFigureInColor[(int)last.Kolor()] = Karta.trelf;//trefl to wartość 0
             if (enebleAtute)
             {
                 TheMostFigureInColor[(int)atute.Kolor()] = MaxAtutInTable(table, atute);
             }
         }
         else
         {
             TheMostFigureInColor[(int)first.Kolor()] = first;
         }
     }
 }