generateScramble method

String generateScramble(
  1. String type
)

Genera un scramble aleatorio en función del tipo de cubo proporcionado.

Este método selecciona un algoritmo de scramble específico dependiendo del tipo de cubo ingresado como parámetro. Cada tipo tiene su propia lógica y número de movimientos para generar un scramble realista.

Parámetros:

  • type: El tipo de cubo para el cual se desea generar el scramble.

Retorna:

  • Un String que representa la secuencia de movimientos (scramble) generada.

Implementation

String generateScramble(String type) {
  switch (type.toLowerCase()) {
    case "2x2x2":
      // USA LAS MISMAS CAPAS QUE EL 3X3 PERO CON 11 MOVIMIENTOS
      return generateScramble32Skewb(11);
    case "3x3x3":
      // RANGO ENTRE 20 A 25 MOVIMIENTOS DE CAPA PARA GENERAR EL SCRAMBLE
      int random = (Random().nextInt(25 - 20 + 1) + 20);
      return generateScramble32Skewb(random);
    // case "4x4x4":
      // RANGO ENTRE 20 A 25 MOVIMIENTOS DE CAPA PARA GENERAR EL SCRAMBLE
      // int random = (Random().nextInt(25 - 20 + 1) + 20);
      // return generateScramble4x4(random);
     // return "";
    case "skewb":
      // EL SCRAMBLE DEL SKEWB USA SOLO LAS CAPAS U, R, B, L Y SON 11 MOVIMIENTOS
      return generateScramble32Skewb(11, true);
    case "pyraminx":
      // EL SCRAMBLE ES EL MISMO QUE EL SKEWB SOLO QUE CON 9 MOVIMIENTOS
      return generateScramble32Skewb(9, true);
    case "square-1":
      return generateScrambleSquare1(11);
    case "megaminx":
      // EL MEGAMINX SE COMPONE DE 6 MOVIMIENTOS (R++. R--. D++, D--, U Y U')
      // LOS SIMBOLOS DE ++ O -- ES PORQUE EL MEGAMINX SIEMPRE SE MUEVE DOBLE

      // RANGO ENTRE 20 A 30 MOVIMIENTOS DE CAPA PARA GENERAR EL SCRAMBLE
      int random = (Random().nextInt(30 - 20 + 1) + 20);
      return generateScrambleMegaminx(random);

    default:
      // RANGO ENTRE 20 A 25 MOVIMIENTOS DE CAPA PARA GENERAR EL SCRAMBLE
      int random = (Random().nextInt(25 - 20 + 1) + 20);
      return generateScramble32Skewb(random);
  }
}