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; } }
public void GameAction() //Check line after block finished falling. { addBlockToBoard(current_block, current_block.get_CurrentX(), current_block.get_CurrentY()); eliminateRow(); createBlock(); }