Pesquisar na Comunidade
Mostrando resultados para as tags ''embaralhamento''.
Encontrado 1 registro
-
Criação de Embaralhadores
Nicolas Omori postou um tópico no fórum Assuntos Diversos (sobre o mundo do cubo)
Bom dia, pessoas. Estou estudando bastante lógica de programação nesses últimos dias, aí resolvi tentar criar um embaralhador para as modalidades que treino. Planejo conseguir criar embaralhadores para as seguintes modalidades: 2x2 3x3 4x4 5x5+ Megaminx Square (Esse vai dar trabalho) Até agora, consegui um embaralhador de 2x2, que pode ser usado como um embaralhador 3-gen para 3x3, e também consegui criar um para o Megaminx, que não usa random-state, e sim uma notação que consegue ser gerada apenas com RNG(random number generator). O motivo da criação desse tópico é: Discutir algoritmos para gerar embaralhamentos para os puzzles aos quais não criei um embaralhador ainda. Também podemos discutir, começando pelo 2x2, como criar uma maneira de usar um estado aleatório das peças para gerar o scramble. Seguem os códigos, Ruby, que utilizei para criar os embaralhadores. Megaminx: def embaralha_mega 7.times { line = "" 5.times { move_R = ["R++", "R--"].shuffle.first move_D = ["D++", "D--"].shuffle.first line << move_R line << move_D } move_U = ["U", "U'"].shuffle.first line << move_U puts linha } end Exemplos gerados: 2x2: def embaralha_dois last = "" scramble = "" i = 0 while i < 12 sides = ["F", "R", "U"] current = sides.shuffle.first if current != last attribute = [" ", "' ", "2 "].shuffle.first move = "#{current}#{attribute}" scramble << move last = current i += 1 else loop end end puts scramble end Exemplos gerados:- 17 respostas
-
1
-
- scramble
- embaralhamento
- (e 2 mais)
