private static Tetrimino CreateTetrimino(TetriminoColor[,] original) { var height = original.GetLength(0); var width = original.GetLength(1); var copy = new TetriminoColor[height, width]; Array.Copy(original, copy, height * width); return(new Tetrimino(copy)); }
public Color GetColor(TetriminoColor color) { if (!initialized) { cache = list .OrderBy(item => item.TetriminoTetriminoColor).Select(item => item.Color) .ToArray(); initialized = true; } return(cache[(int)color]); }
public Tetrimino Create() { var random = Random.Range(0, fourPatterns.Count); var original = fourPatterns[random]; var height = original.GetLength(0); var width = original.GetLength(1); var instance = new TetriminoColor[height, width]; Array.Copy(original, instance, height * width); return(new Tetrimino(instance)); }
public Field(int width, int height) { Width = width; Height = height; Colors = new TetriminoColor[width, height]; for (var x = 0; x < Width; x++) { for (var y = 0; y < Height; y++) { Colors[x, y] = TetriminoColor.None; } } }
bool CanSetColor(TetriminoColor color, int fieldX, int fieldY) { if (color == TetriminoColor.None) { return(false); } if (fieldX < 0 || Width <= fieldX || fieldY < 0 || Height <= fieldY) { return(false); } return(true); }