Пример #1
0
 public static List <Karta> ZaładujDostepneKartyWitchResult(List <Karta> twojeKarty, List <Karta> stół, bool AktywnaKozera, Karta Kozera, out ResultMoveGame resultMove)
 {
     if (stół.Count == 0)
     {
         resultMove = ResultMoveGame.EmptyTable;
         return(twojeKarty);
     }
     else
     {
         List <Karta> KartyDostepneWturze = twojeKarty.Where(X => X.Kolor() == stół.First().Kolor()).ToList();
         if (KartyDostepneWturze.Count != 0)
         {
             ComparerTysioc cp = new ComparerTysioc(stół.First());
             List <Karta>   KartyPosotowane = new List <Karta>(stół);
             KartyPosotowane.Sort(cp);
             Karta Najwiejsze = KartyPosotowane.Last();
             var   Wieksze    = KartyDostepneWturze.Where(X => cp.Compare(Najwiejsze, X) < 0).ToList();
             if (Wieksze.Count != 0)
             {
                 resultMove = ResultMoveGame.Win;
                 return(Wieksze);
             }
             else
             {
                 resultMove = ResultMoveGame.Lose;
                 return(KartyDostepneWturze);
             }
         }
         else
         {
             if (AktywnaKozera)
             {
                 ComparerTysioc cp = new ComparerTysioc(stół.First(), Kozera);
                 List <Karta>   KartyPosotowane = new List <Karta>(stół);
                 KartyPosotowane.Sort(cp);
                 Karta Najwiejsze = KartyPosotowane.Last();
                 var   Wieksze    = twojeKarty.Where(X => cp.Compare(Najwiejsze, X) < 0).ToList();
                 if (Wieksze.Count == 0)
                 {
                     resultMove = ResultMoveGame.Lose;
                     return(twojeKarty);
                 }
                 else
                 {
                     resultMove = ResultMoveGame.Win;
                     return(Wieksze);
                 }
             }
             else
             {
                 resultMove = ResultMoveGame.Lose;
                 return(twojeKarty);
             }
         }
     }
 }
Пример #2
0
        public static int FindWinner(bool enebleTrump, Karta trumpSuit, int indexPlayer, Karta[] Table)
        {
            ComparerTysioc porówjnaj = null;

            if (enebleTrump)
            {
                porówjnaj = new ComparerTysioc(Table[indexPlayer], trumpSuit);
            }
            else
            {
                porówjnaj = new ComparerTysioc(Table[indexPlayer]);
            }
            var Kopiastołu = (Karta[])Table.Clone();

            Array.Sort(Kopiastołu, porówjnaj);
            var maxkarta = Kopiastołu.Last();

            return(Table.FindIndex(maxkarta));
        }