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); }
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}"); } }
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)); }
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)); }
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)); }
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); }
public abstract Uklad Uklad(RozdaneKarty karty);