//Next piece render blocks public TetrisRenderBlock[,] GetNextPieceRenderBlocks() { HasNextPieceStateChangedSinceRender = false; var result = new TetrisRenderBlock[4, 4]; if (_nextConfigurations == null) { return(result); } for (var i = 0; i < 4; i++) { for (var j = 0; j < 4; j++) { if (_nextConfigurations[0][i, j] == 0) { continue; } result[i, j].Color = NumberToColor(_nextConfigurations[0][i, j]); result[i, j].Active = true; } } return(result); }
//World render blocks public TetrisRenderBlock[,] GetRenderBlocks() { HasStateChangedSinceRender = false; var result = new TetrisRenderBlock[_width, _height]; for (var i = 0; i < _width; i++) { for (var j = 0; j < _height; j++) { if (_landedBlocks[i, j] != 0) { result[i, j].Color = Dim(NumberToColor(_landedBlocks[i, j])); result[i, j].Active = true; } else { result[i, j].Active = false; } } } if (!_pieceActive) { return(result); } { for (var i = 0; i < 4; i++) { for (var j = 0; j < 4; j++) { if (_controlledBlocks[i, j] == 0) { continue; } result[i + _cLeft, j + _cTop].Color = NumberToColor(_controlledBlocks[i, j]); result[i + _cLeft, j + _cTop].Active = true; } } } return(result); }