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.
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.
× 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.
Celui qui a tout réussit est celui qui a souvent réessayer.
Découverte Python Doc Tkinter Les chaînes de caractères