Ejemplo n.º 1
0
    public void moveBlock(char control)                                                 //Change the block for either move or spin
    {
        switch (control)
        {
        case 'a':                   //left
            tryMove(current_block, current_block.get_CurrentX(), current_block.get_CurrentY() - 1);
            break;

        case 'A':
            tryMove(current_block, current_block.get_CurrentX(), current_block.get_CurrentY() - 1);
            break;

        case 'd':                   //right
            tryMove(current_block, current_block.get_CurrentX(), current_block.get_CurrentY() + 1);
            break;

        case 'D':
            tryMove(current_block, current_block.get_CurrentX(), current_block.get_CurrentY() + 1);
            break;

        case 's':                   //down+speed
            controller.myTimer.Interval = 200;
            break;

        case 'S':
            controller.myTimer.Interval = 50;
            break;

        case 'W':                   //spin
            if (current_block.getBlockShape() != TetrisBlock.Blocks.No_shape && current_block.getBlockShape() != TetrisBlock.Blocks.Square_shape)
            {
                TetrisBlock rotate_test = current_block.blockClone();
                rotate_test.rotate();
                if (tryMove(rotate_test, rotate_test.get_CurrentX(), rotate_test.get_CurrentY()))
                {
                    ;
                }
                //current_block.rotate();
            }
            break;
        }
    }
Ejemplo n.º 2
0
 public void GameAction()                                                            //Check line after block finished falling.
 {
     addBlockToBoard(current_block, current_block.get_CurrentX(), current_block.get_CurrentY());
     eliminateRow();
     createBlock();
 }