public void RenderNext(int xMargin, int yMargin, Graphics graphics) { for (int x = 0; x < MatrixSize.Width; x++) { for (int y = 0; y < MatrixSize.Height; y++) { if (!_tetrominoMatrix[x, y]) { continue; } int xPosition = x; int yPosition = y; if (yPosition < 0) { continue; } xPosition *= TetrominoDrawing.SQUARE_SIZE; yPosition *= TetrominoDrawing.SQUARE_SIZE; xPosition += xMargin; yPosition += yMargin; TetrominoDrawing tetrominoDrawing = TetrominoDrawing.GetTetrominoColors(TetrominoType); graphics.FillRectangle(new SolidBrush(tetrominoDrawing.FillColor), new Rectangle(xPosition, yPosition, TetrominoDrawing.SQUARE_SIZE, TetrominoDrawing.SQUARE_SIZE)); graphics.DrawRectangle(new Pen(tetrominoDrawing.BorderColor, TetrominoDrawing.SQUARE_BORDER), new Rectangle(xPosition, yPosition, TetrominoDrawing.SQUARE_SIZE, TetrominoDrawing.SQUARE_SIZE)); } } }
public void Render(Graphics graphics) { for (int x = 0; x < MatrixSize.Width; x++) { for (int y = 0; y < MatrixSize.Height; y++) { if (!_tetrominoMatrix[x, y]) { continue; } int xPosition = x + _xIncrease; int yPosition = y + _yIncrease; if (yPosition < 0) { continue; } xPosition *= TetrominoDrawing.SQUARE_SIZE; yPosition *= TetrominoDrawing.SQUARE_SIZE; xPosition += TetrisLevel.XMARGIN; yPosition += TetrisLevel.YMARGIN; TetrominoDrawing tetrominoDrawing = TetrominoDrawing.GetTetrominoColors(TetrominoType); graphics.FillRectangle(new SolidBrush(tetrominoDrawing.FillColor), new Rectangle(xPosition, yPosition, TetrominoDrawing.SQUARE_SIZE, TetrominoDrawing.SQUARE_SIZE)); graphics.DrawRectangle(new Pen(tetrominoDrawing.BorderColor, TetrominoDrawing.SQUARE_BORDER), new Rectangle(xPosition, yPosition, TetrominoDrawing.SQUARE_SIZE, TetrominoDrawing.SQUARE_SIZE)); } } }
private void RenderNextTetromino(Graphics graphics) { graphics.DrawRectangle(new Pen(Color.White, TetrominoDrawing.SQUARE_BORDER), new Rectangle((LevelSize.Width * TetrominoDrawing.SQUARE_SIZE) + (2 * XMARGIN), YMARGIN, TetrominoDrawing.SQUARE_SIZE * 4, TetrominoDrawing.SQUARE_SIZE)); for (int x = 0; x < 4; x++) { for (int y = 0; y < 4; y++) { int xPosition = x; int yPosition = y; xPosition *= TetrominoDrawing.SQUARE_SIZE; yPosition *= TetrominoDrawing.SQUARE_SIZE; xPosition += (LevelSize.Width * TetrominoDrawing.SQUARE_SIZE) + (2 * XMARGIN); yPosition += YMARGIN + TetrominoDrawing.SQUARE_SIZE; TetrominoDrawing tetrominoDrawing = TetrominoDrawing.GetTetrominoColors(TetrominoType.Empty); graphics.FillRectangle(new SolidBrush(tetrominoDrawing.FillColor), new Rectangle(xPosition, yPosition, TetrominoDrawing.SQUARE_SIZE, TetrominoDrawing.SQUARE_SIZE)); graphics.DrawRectangle(new Pen(tetrominoDrawing.BorderColor, TetrominoDrawing.SQUARE_BORDER), new Rectangle(xPosition, yPosition, TetrominoDrawing.SQUARE_SIZE, TetrominoDrawing.SQUARE_SIZE)); } } graphics.DrawRectangle(new Pen(Color.White, TetrominoDrawing.SQUARE_BORDER), new Rectangle((LevelSize.Width * TetrominoDrawing.SQUARE_SIZE) + (2 * XMARGIN), YMARGIN + TetrominoDrawing.SQUARE_SIZE, TetrominoDrawing.SQUARE_SIZE * 4, TetrominoDrawing.SQUARE_SIZE * 4)); NextTetromino.RenderNext((LevelSize.Width * TetrominoDrawing.SQUARE_SIZE) + (2 * XMARGIN), YMARGIN + TetrominoDrawing.SQUARE_SIZE, graphics); Font font = new Font(FontFamily.GenericSansSerif, 12); graphics.DrawString("NEXT:", font, new SolidBrush(Color.White), new Point((LevelSize.Width * TetrominoDrawing.SQUARE_SIZE) + (2 * XMARGIN), YMARGIN)); }
private void RenderTetrisCanvas(Graphics graphics) { for (int x = 0; x < LevelSize.Width; x++) { for (int y = 0; y < LevelSize.Height; y++) { int xPosition = (x * TetrominoDrawing.SQUARE_SIZE) + TetrisLevel.XMARGIN; int yPosition = (y * TetrominoDrawing.SQUARE_SIZE) + TetrisLevel.YMARGIN; TetrominoDrawing tetrominoDrawing = TetrominoDrawing.GetTetrominoColors(LevelMatrix[y][x]); graphics.FillRectangle(new SolidBrush(tetrominoDrawing.FillColor), new Rectangle(xPosition, yPosition, TetrominoDrawing.SQUARE_SIZE, TetrominoDrawing.SQUARE_SIZE)); graphics.DrawRectangle(new Pen(tetrominoDrawing.BorderColor, TetrominoDrawing.SQUARE_BORDER), new Rectangle(xPosition, yPosition, TetrominoDrawing.SQUARE_SIZE, TetrominoDrawing.SQUARE_SIZE)); } } for (int x = 0; x < LevelSize.Width; x++) { for (int y = 0; y < LevelSize.Height; y++) { if (LevelMatrix[y][x] == TetrominoType.Empty) { continue; } int xPosition = (x * TetrominoDrawing.SQUARE_SIZE) + TetrisLevel.XMARGIN; int yPosition = (y * TetrominoDrawing.SQUARE_SIZE) + TetrisLevel.YMARGIN; TetrominoDrawing tetrominoDrawing = TetrominoDrawing.GetTetrominoColors(TetrominoType.Filled); graphics.FillRectangle(new SolidBrush(Color.LightGray), new Rectangle(xPosition, yPosition, TetrominoDrawing.SQUARE_SIZE, TetrominoDrawing.SQUARE_SIZE)); graphics.DrawRectangle(new Pen(Color.White, TetrominoDrawing.SQUARE_BORDER), new Rectangle(xPosition, yPosition, TetrominoDrawing.SQUARE_SIZE, TetrominoDrawing.SQUARE_SIZE)); } } ActiveTetromino.Render(graphics); }