// Devuelve cierto si un bloque se puede mover, si se lo permite el gestor public bool CanMove(MovableBlock block) { if (block == null) { throw new ArgumentNullException(nameof(block)); } return(puzzle.CanMoveByDefault(block.position)); }