public void MoveBlock(EM_MOVE_METHOD moveMethod) { switch (moveMethod) { case EM_MOVE_METHOD.DOWN: //down m_block_container.MoveBlock(EM_MOVE_METHOD.DOWN); break; case EM_MOVE_METHOD.RIGHT: //right m_block_container.MoveBlock(EM_MOVE_METHOD.RIGHT); break; case EM_MOVE_METHOD.LEFT: //left m_block_container.MoveBlock(EM_MOVE_METHOD.LEFT); break; case EM_MOVE_METHOD.ROTATE: m_block_container.RotateBlock(); break; default: break; } if (m_block_container.IsLowest) { MigrateNextBlockToContainer(); } m_block_container.CheckRemoveRow(); }
public void MoveBlock(EM_MOVE_METHOD moveMethod) { Move(moveMethod); if (IsAbnormal()) { MoveRollback(moveMethod); if (IsMoveToLowest(moveMethod)) { IsLowest = true; } } Confirm(); }
void SetPositionAccordingMove(EM_MOVE_METHOD moveMethod, int forward) { switch (moveMethod) { case EM_MOVE_METHOD.DOWN: m_current_block_position_y += forward; break; case EM_MOVE_METHOD.RIGHT: m_current_block_position_x += forward; break; case EM_MOVE_METHOD.LEFT: m_current_block_position_x -= forward; break; default: break; } }
void MoveRollback(EM_MOVE_METHOD moveMethod) { int forward = -1; SetPositionAccordingMove(moveMethod, forward); }
static bool IsMoveToLowest(EM_MOVE_METHOD moveMethod) { return(moveMethod == EM_MOVE_METHOD.DOWN); }