public ControlBlocks Execute(ControlBlocks controlBlocks) { var newControlBlocks = controlBlocks.Clone(); newControlBlocks.MoveRight(); if (CollisionDetection.IsCollision(newControlBlocks)) { ControlBlocksPresenter.PlayCollisionSound(); return(controlBlocks); } return(newControlBlocks); }
public ControlBlocks AdjustBlocksForSpin(ControlBlocks currentControlBlocks, ControlBlocks newControlBlocks) { if ((CollisionDetection.IsCollisionControlBlocksLower(newControlBlocks) && CollisionDetection.IsCollisionControlBlocksUpper(newControlBlocks)) || (CollisionDetection.IsCollisionControlBlocksLeftSide(newControlBlocks) && CollisionDetection.IsCollisionControlBlocksRightSide(newControlBlocks))) { ControlBlocksPresenter.PlayCollisionSound(); return(currentControlBlocks); } ControlBlocksPresenter.PlaySpinSound(); return(AdjustBlocksForSpinLoop(newControlBlocks)); }