RUBIX CUBE

pysco68 Messages postés 681 Date d'inscription samedi 26 février 2005 Statut Membre Dernière intervention 21 août 2014 - 21 janv. 2009 à 17:14
cs_janhsh Messages postés 31 Date d'inscription lundi 6 novembre 2000 Statut Membre Dernière intervention 24 janvier 2015 - 21 févr. 2011 à 01:17
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/49037-rubix-cube

cs_janhsh Messages postés 31 Date d'inscription lundi 6 novembre 2000 Statut Membre Dernière intervention 24 janvier 2015
21 févr. 2011 à 01:17
Il manque la balise obligatoire <!DOCTYPE avant <html>
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
13 mars 2009 à 13:31
ah :) merci ;)

bah... j'ai fait vennir tychobrahe ici, (c'est un mec qui ressemble au rodolphe de la pub de chez free, c'est un geek, on etait a la fac ensemble et il est a epitech maintenant), lui il habite en plein centre de nantes (un endroit hostile aux voitures :( )

bref, j'ai ete pas mal charge ces derniers temps, et donc je n'ai pas eu le temps de bosser sur ca (apprendre a les terminer, coder un algo de resolution, et recoder ca en Cpp)

de plus, je m'y interesse souvent quand je m'ennuie en cours (je demande a mon binome de TP de m'en preter un :D) et comme la fac est bloquee depuis un mois et demie, j'ai pas pu jouer au rubix :(

bref, je le lirais quand il sera pret, mais ne te presse pas pour moi :)
masternico Messages postés 487 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 1 septembre 2011
13 mars 2009 à 12:58
Salut coucou747, je suis désolé, je n'ai toujours pas eu le temps de m'occuper de ce que je t'ai promis.
Par contre, je viens de croiser un de tes commentaires sur ce site qui m'a conduit à ton site... qui m'a conduit à ton CV (plutôt pas mal d'ailleur)... qui m'a conduit à ton adresse...
Le monde est petit car j'habite à 15 bornes de chez toi...
Bon mis à part ceci, sache que je ne t'oublie pas et que je vais te faire le pdf comme promis.
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
27 janv. 2009 à 15:56
merci
masternico Messages postés 487 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 1 septembre 2011
27 janv. 2009 à 15:38
je te prépare ça dans la semaine et je te l'enverais...
tu va voir, même ma fille de 10 ans y arrive...

En fait, l'algo est le suivant:
placer les 4 coins blancs dans le bon ordre sans se préocuper du reste. Du coup, les 4 coins jaunes sont à la bonne place mais pas dans le bon ordre ni bien orientés.
A l'aide de la première formule, tu fait pivoter un à un les coins jaunes sur eux même sans que celà ne change les autres. Quand tous les coins jaunes sont bien orienté, il faut les mettre dans le bon ordre. 2ème formule.

Ensuite, tu combles 3 trous sur la couronne jaune et tu en garde un (en temp que swap) pour combler toute la couronne blanche. Grace à une 3ème formule tu place le dernier jaune.

Pour ce qui est de la ceinture, il y a 2 formules mémoriser et... TADAAAAAAAA... le cube est complèté...
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
27 janv. 2009 à 13:12
ah :)

j'arrive facilement a faire la premiere courone, apres, j'ai du mal a placer et orienter le reste en concervant la premiere colone.
masternico Messages postés 487 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 1 septembre 2011
27 janv. 2009 à 10:06
En fait, il s'agit juste de mémoriser une 15aines de formules.
J'ai un bouquin qui explique en détail ce qu'il faut faire suivant comment sont placés les coins jaunes et blanc.
Il existe même des formules pour le faire en 35 secondes, mais là, c'est une quarantaine de formules qu'il faut mémoriser.
Si ça t'intéresse, je pourrais t'en faire un PDF. Comme ça tu pourras le joindre à ton script.

Je me rapelle qu'au lycée, je gagnais pas mal de paris avec ça... lol...

Il suffisait juste que je fasse semblant de me dépecher alors que je prenais mon temps et j'annoncais que j'allais essayer de le faire en 8 minutes... trop facile...

C'était pas joli joli, mais qu'est-ce que j'ai pu rigoler avec ça...
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
26 janv. 2009 à 23:36
merci :)

perso, j'ai du mal a le faire quand j'en ai un vrai dans les mains.
masternico Messages postés 487 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 1 septembre 2011
26 janv. 2009 à 16:09
Perso celui en vrais je le fait en 5 minutes... celui là... ben... il est déjà résolu...

j'ai modifié le code de la fonction __construct pour intégrer la possibilité de brouillage à chaque démarrage:

public function __construct($nbr){
$this->nbr = $nbr;
$this->faces = array();
for ($i = 0; $i < 6; $i++){
$this->faces[$i] = new Face($i, $nbr);
}
$nb_mouvement_brouillage = rand(50,200);
for ($i = 0;$i < $nb_mouvement_brouillage;$i++)
{
$f = rand(0,5);
$l = rand(0,2);
$colone_ligne = rand(0,1);
if($colone_ligne == 0)
$this->rotateLine($f, $l);
else
$this->rotateColone($f, $l);

}
}


Comme ça, ça a plus de charme ;D
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
23 janv. 2009 à 01:19
:D ca aurait fait un truc BEAUCOUP plus dur a coder, et n'aurait pas apporte beaucoup d'interret
cs_petifa Messages postés 215 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 10 mars 2014
22 janv. 2009 à 22:49
oui en 3, enfin en 3D,
j'ai meme pas fait attentiont qu'il manquait le D
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
22 janv. 2009 à 13:48
en 3 ?

pour parametrer la taille du cube, il faut changer le parametre passe au constructeur sur la ligne 240 :

$_SESSION['cube'] = new Cube(3);

pour un 2*2 * 6faces:
$_SESSION['cube'] = new Cube(2);
cs_petifa Messages postés 215 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 10 mars 2014
22 janv. 2009 à 12:14
c pas en 3 :p
en tout cas avoir un rubix cub dans la main c mieux je trouve :)
sympa quand meme
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
21 janv. 2009 à 17:41
merci

il existe des algos qui permettent de le resoudre, mais je ne connais aucun algo correct qui cherche la solution la plus rapide.

j'avais commence ca en cours avec le rubix d'un copain, et j'ai fini chez moi.
pysco68 Messages postés 681 Date d'inscription samedi 26 février 2005 Statut Membre Dernière intervention 21 août 2014 8
21 janv. 2009 à 17:14
clair net et précis ^^ enfin comme on l'aime bien le code

défi d'extension: coder l'algo pour le résoudre ^^ ce serait un beau concours sur le forum ^^ enfin laissons ça de coté ;)

nb: t'aurais au moins pu implémenter un petit test histoire de dire: "C'est bien t'a réussi" ^^

Bref, les débutants déplorerons le manque de commentaires peut-être...
Bonne soirée
Rejoignez-nous