Exemplo n.º 1
0
        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]);
        }
Exemplo n.º 3
0
        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));
        }
Exemplo n.º 4
0
 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;
         }
     }
 }
Exemplo n.º 5
0
        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);
        }