1234567891011121314151617181920212223242526272829303132333435363738394041 |
- using Connect4;
- namespace MinMaxAB;
- public static class Extensions
- {
- public static Player[][] Fill(int cols, int rows, Player value)
- {
- Player[][] array = new Player[cols][];
- var arr = new Player[rows];
- for (int j = 0; j < rows; j++)
- {
- arr[j] = value;
- }
- array[0] = arr;
- for (int i = 1; i < cols; i++)
- {
- array[i] = new Player[rows];
- arr.CopyTo(array[i].AsSpan());
- }
- return array;
- }
- public static Player[][] DeepCopy(this Player[][] source)
- {
- var len = source.Length;
- var dest = new Player[len][];
- for (var i = 0; i < len; i++)
- {
- var inner = source[i];
- var ilen = inner.Length;
- var newer = new Player[ilen];
- Array.Copy(inner, newer, ilen);
- dest[i] = newer;
- }
- return dest;
- }
- }
|