예제 #1
0
 private void TetrisGame_NextTetromino(object sender, NextTetrominoesEventArg e)
 {
     if (InvokeRequired)
     {
         BeginInvoke(new Action(() =>
         {
             DrawNextTetromino(e);
         }));
     }
     else
     {
         DrawNextTetromino(e);
     }
 }
예제 #2
0
 private void DrawNextTetromino(NextTetrominoesEventArg e)
 {
     using (var graphics = Graphics.FromImage(nextTetrominoBitmap))
     {
         graphics.Clear(BackColor);
         var y = 0;
         foreach (var tetro in e.NextTetrominoes)
         {
             foreach (var block in tetro)
             {
                 DrawSingleBlock(graphics, block.X, block.Y + y, GetColor(block.Status, BackColor), block.Status != BlockStatus.Hidden ? borderColor : hiddenColor);
             }
             y += tetrominoWidthHeightBlocks;
         }
     }
     nextTetrominoPicBox.Refresh();
 }