public void CurrTetriminoMoveDown() { Point Position = currTetrimino.getCurrPosition(); Point[] Shape = currTetrimino.getCurrShape(); bool move = true; currTetriminoErase(); foreach (Point S in Shape) { Point x = new Point(0, 0); //Point y = new Point(0, 1); Point y = new Point(0, -1); if (((int)(S.Y + Position.Y) + 2 + 1) >= Rows) { move = false; } else if (BlockControls[((int)(S.X + Position.X) + ((Columns / 2) - 1)), (int)(S.Y + Position.Y) + 2 + 1].Background != NoBrush && currTetrimino.getCurrPosition() == x) { gameEnd = true; } else if (BlockControls[((int)(S.X + Position.X) + ((Columns / 2) - 1)), (int)(S.Y + Position.Y) + 3].Background != NoBrush && (currTetrimino.getCurrPosition() == y)) { gameEnd = true; } else if (BlockControls[((int)(S.X + Position.X) + ((Columns / 2) - 1)), (int)(S.Y + Position.Y) + 2 + 1].Background != NoBrush) { move = false; } } if (move) { currTetrimino.moveDown(); currTetriminoDraw(); } else { currTetriminoDraw(); CheckRows(); currTetrimino = new Tetrimino(); } }