Mentoria de Inglês - Carlos de Alcântara

Pesquisar na Comunidade

Mostrando resultados para as tags ''embaralhamento''.

  • Pesquisar por Tags

    Digite tags separadas por vírgulas
  • Pesquisar por Autor

Tipo de Conteúdo


Fóruns

  • Anúncios
    • Anúncios
  • Cubo Mágico Geral
    • Speedcubing
    • Peças, Acessórios e Lojas
    • Desafios, Jogos e Competições Online
    • Galeria de Vídeos
    • Assuntos Diversos (sobre o mundo do cubo)
    • Tutoriais, Apostilas etc.
  • Off-Topic
    • Área 51
    • Café dos Cubistas
    • Apresente-se!
    • Suporte, Ajuda e Sugestões sobre o Fórum

Calendários

  • Community Calendar

Marker Groups

  • Members

Encontrado 1 registro

  1. 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: