12345678910111213141516171819202122232425262728293031323334353637383940 |
- using FourInARow;
- namespace MinMaxAB;
- public static class Extensions
- {
- public static T ChooseRandom<T>(this T[] source) => source[Random.Shared.Next(0, source.Length)];
- public static Player[][] Fill(int cols, int rows, Player value)
- {
- Player[][] array = new Player[cols][];
- for (int i = 0; i < cols; i++)
- {
- var arr = new Player[rows];
- for (int j = 0; j < rows; j++)
- {
- arr[j] = value;
- }
- array[i] = arr;
- }
- return array;
- }
- public static Player[][] CopyArrayBuiltIn(this Player[][] source)
- {
- var len = source.Length;
- var dest = new Player[len][];
- for (var x = 0; x < len; x++)
- {
- var inner = source[x];
- var ilen = inner.Length;
- var newer = new Player[ilen];
- Array.Copy(inner, newer, ilen);
- dest[x] = newer;
- }
- return dest;
- }
- }
|