Partage
  • Partager sur Facebook
  • Partager sur Twitter

Aide programme mélange rubik's cube (python)

    26 décembre 2018 à 18:36:29

    Hey, j'ai commencé à écrire un petit programme qui générerai un mélange de rubik's cube 3x3 voilà à quoi il ressemble :

    from random import randrange
    import os
    z = 0
    i = 0
    a = 0
    while z != 1:
        nb_moves = input("Combien de mouvements voulez-vous pour votre/vos mélange(s)?")
        nb_moves = int(nb_moves)
        nb_melanges = input("Combien de mélanges voulez-vous?")
        nb_melanges = int(nb_melanges)
        if nb_moves != int(nb_moves):        
            print("érreur, veuillez rentrer seulement des chiffres/nombres")
            input(nb_moves)
        elif nb_moves == int(nb_moves)and nb_melanges != int(nb_melanges):
                print("érreur, veuillez rentrer seulement des chiffres/nombres")
                input(nb_melanges)
        elif nb_moves == int(nb_moves) and nb_melanges == int(nb_melanges):
            z += 1
            
    
    while a < nb_melanges:    
        while i < nb_moves:        
            mouvements = ["R", "R'","R2", "L", "L'", "L2", "U", "U'", "U2", "F", "F'", "F2", "D", "D'", "D2", "B", "B'", "B2"]
            random_index = randrange(0,len(mouvements))
            print (mouvements[random_index], end=' ')
            i+=1
            if i == nb_moves:            
                print (' ')
        if a != nb_moves:
            a += 1
            i = 0
            continue
        elif a == nb_melanges:
            break
    os.system("pause")

    Mais il faudrait que quand le mouvement  est "R" le mouvement suivant ne puisse pas être "R'" ou "R2" et ce pour toutes les mouvements (lettres)

    Merci d'avance à ceux qui prendront le temps de me répondre.


    • Partager sur Facebook
    • Partager sur Twitter
      4 avril 2020 à 19:57:28

      Salut,

      Je sais pas comment t'aider mais si tu as trouver comment faire, je suis preneur

      • Partager sur Facebook
      • Partager sur Twitter

      Celui qui a tout réussit est celui qui a souvent réessayer.

        4 avril 2020 à 20:46:53

        Très bon exo. Ce que je ferais a priori. Numéroter tous les 27 mini-cubes du rubik. Chaque rotation de face se traduit par une permutation de 9 mini-cubes (8 en fait). Il y a 12 transformations, 6 et leurs inverses. Quand on a une transformation T on a sa réciproque facilement. Moi j'écrirais les 6 transformations, à la main, chaque transformation étant une liste de 8 listes de deux éléments [départ, arrivée]. Ensuite, l'état du rubik est juste une liste de 27 éléments.

        Tu peux même aller plus loin et ecrire un solver avec la méthode du débutant.

        -
        Edité par PascalOrtiz 5 avril 2020 à 0:34:22

        • Partager sur Facebook
        • Partager sur Twitter

        Aide programme mélange rubik's cube (python)

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown