示例#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);
             }
         }
     }
 }
 public bool IsContext(StateGame1000 s, ResultMoveGame mk) => (s.NumberCardInTable == 0);
示例#3
0
 public bool IsContext(StateGame1000 s, ResultMoveGame mk) => ((s.NumberCardInTable != 0) && mk == ResultMoveGame.Lose || (mk == ResultMoveGame.Win && (s.NumberCardInTable + 1 == s.amountPlayer)));
示例#4
0
 public bool IsContext(StateGame1000 s, ResultMoveGame mk) => mk == ResultMoveGame.Win;