Za pomocą tej biblioteki możesz wykonać iloczyn kartezjański dla kart:
var kolory = new List<string> {"Trefl", "Karo", "Kier", "Pik"}; var figury = new List<string> {"As", "2", "3", "4", "5", "6", "7", "8", "9", "10", "Walet", "Dama", "Król"}; var karty = Algorithms.CartesianProduct(figury,kolory) .Select(x=>x.First + " " + x.Second) .ToList(); foreach (var karta in karty) { Console.WriteLine(karta); }I jeszcze potasować te karty i zagrać w pokera :)
var kartyNaFlopie = Algorithms.RandomSubset(potasowaneKarty, 3); foreach ( var karta in kartyNaFlopie) { Console.WriteLine(karta); }Oprócz tego za pomoca Power Collections możesz dokonać rotacji listy.
string word = "Arkadiusz Beer "; for (int i = 0; i < word.Length; i++) { var builder = new StringBuilder(); Algorithms.Rotate(word.ToList(), i) .ToList() .ForEach(c=> builder.Append(c)); Console.WriteLine(builder); }
Power Collections posiada typy, jakich może ci brakować w BCL (m.in. MultiDictionary<TKey, TValue> czy OrderedBag<T>). Zachęcam za do sprawdzenia tej biblioteki.
Brak komentarzy:
Prześlij komentarz