コード例 #1
0
        protected static bool WGrupie(int n, RozdaneKarty karty)
        {
            Dictionary <Figura, int> seen = new Dictionary <Figura, int>();

            foreach (Karta c in karty.Karty)
            {
                if (seen.ContainsKey(c.Figura))
                {
                    seen[c.Figura]++;
                }
                else
                {
                    seen[c.Figura] = 1;
                }
            }

            foreach (int count in seen.Values)
            {
                if (count == n)
                {
                    return(true);
                }
            }

            return(false);
        }
コード例 #2
0
        public void Run()
        {
            var rozdaneKarty = new RozdaneKarty[10];
            var stol         = new Stol();

            stol.Tasuj();

            for (int i = 0; i < rozdaneKarty.Length; i++)
            {
                rozdaneKarty[i] = new RozdaneKarty();
            }

            for (int iloscKart = 0; iloscKart < 5; iloscKart++)
            {
                foreach (RozdaneKarty t in rozdaneKarty)
                {
                    t.Add(stol.Rozdaj());
                }
            }

            foreach (var karty in rozdaneKarty)
            {
                Console.WriteLine($"{karty.Uklad} ({karty}) Najwyzsza karta: {karty.WysokaKarta}");
            }
        }
コード例 #3
0
        public override Uklad Uklad(RozdaneKarty karty)
        {
            Dictionary <Figura, int> seen = new Dictionary <Figura, int>();

            foreach (Karta c in karty.Karty)
            {
                if (seen.ContainsKey(c.Figura))
                {
                    seen[c.Figura]++;
                }
                else
                {
                    seen[c.Figura] = 1;
                }
            }

            if (seen.Count == 2)
            {
                if (seen.ContainsValue(3) && seen.ContainsValue(2))
                {
                    return(Poker.Uklad.Full);
                }
            }

            return(Nastepny.Uklad(karty));
        }
コード例 #4
0
        protected static bool WKolorze(RozdaneKarty karty)
        {
            List <Kolor> suits = karty.Karty.Select(c => c.Kolor).ToList();

            suits.Sort();

            Kolor expected = suits[0];

            return(suits.All(suit => suit == expected));
        }
コード例 #5
0
        public override Uklad Uklad(RozdaneKarty karty)
        {
            Dictionary <Figura, int> seen = new Dictionary <Figura, int>();

            foreach (Karta c in karty.Karty)
            {
                if (seen.ContainsKey(c.Figura))
                {
                    seen[c.Figura]++;
                }
                else
                {
                    seen[c.Figura] = 1;
                }
            }

            if (seen.Count == 3)
            {
                int twoSeen = 0;
                int oneSeen = 0;
                foreach (int val in seen.Values)
                {
                    switch (val)
                    {
                    case 1:
                        oneSeen++;
                        break;

                    case 2:
                        twoSeen++;
                        break;

                    default:
                        break;
                    }
                }

                if (oneSeen == 1 && twoSeen == 2)
                {
                    return(Poker.Uklad.DwiePary);
                }
            }

            return(Nastepny.Uklad(karty));
        }
コード例 #6
0
        protected static bool WStricie(RozdaneKarty karty)
        {
            List <Figura> values = karty.Karty.Select(c => c.Figura).ToList();

            values.Sort();

            int expectedValue = (int)values[0];

            foreach (Figura value in values)
            {
                if ((int)value != expectedValue)
                {
                    return(false);
                }

                expectedValue++;
            }

            return(true);
        }
コード例 #7
0
 public abstract Uklad Uklad(RozdaneKarty karty);