Esempio n. 1
0
        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();
            }
        }