Versão atual:

Como criar uma sequência aleatória a partir de arrays que se restringem entre si quanto aos índices e posições específicas dos elementos declarados?

Bem pessoal, tô fazendo um código que gera sequências a partir de arrays de String. Consegui fazer ele gerar a sequência normal, mas preciso que gere um tipo específico de sequência aleatória. No caso meu código vai fazendo vários sorteios até achar uma condição que o satisfaça, então se ele gerar um item que esteja OK ele sorteia outro, caso contrário sorteia de novo até aparecer um que está certo. Meu método tá assim:

        String[] moves1 = {"F", "B", "U", "D", "R", "L"};
        String[] moves2 = {" ", "' "};

        Random r = new Random();

        String s = "";
        String f = "";

        for (int i = 0; i < 26; i++) {

            do {
                f = moves1[r.nextInt(6)];

            } while (f == s);
            s = f;
            System.out.print(s);

            String u = moves2[r.nextInt(2)];
            System.out.print(u);

        }

    }

}

Obs.: O vetor "moves2" é referente a outra ação do programa.

Bem, o que eu preciso é basicamente que o programa NÃO GERE em sua composição:

  • "F" depois de "F B" ou "B" depois de "B F";
  • "U" depois de "U D" ou "D" depois de "D U";
  • "R" depois de "R L" ou "L" depois de "L R";

Como exemplo, não podem ser geradas trechos de sequências como:

  • "...B F B..." ou "...F B F...";
  • "...U D U..." ou "...D U D...";
  • "...R L R..." ou "...L R L...";

Considerando que a sequência tem que ter 25 itens num print, a última restrição é que não podem aparecer dois itens IGUAIS SEGUIDOS, como F F, B B, R R, D D, U U ou L L.

Versões(2):

Ver a versão formatada

Como criar uma sequência aleatória a partir de arrays que se restringem entre si quanto aos índices e posições específicas dos elementos declarados?

Comentário

new question