RUBIX CUBE OPENGL

cs_LordBob Messages postés 2865 Date d'inscription samedi 2 novembre 2002 Statut Membre Dernière intervention 11 mai 2009 - 21 janv. 2004 à 07:01
cs_Trident Messages postés 24 Date d'inscription dimanche 22 juin 2003 Statut Membre Dernière intervention 12 décembre 2004 - 25 janv. 2004 à 00:14
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/19657-rubix-cube-opengl

cs_Trident Messages postés 24 Date d'inscription dimanche 22 juin 2003 Statut Membre Dernière intervention 12 décembre 2004
25 janv. 2004 à 00:14
Thanks,

C'est encore mieux quand au début y'a de la critique ;o) (mi maso ?)

Je tient à préciser qu'aprés plusieure année d'effort (et un peu demander à google) je sais refaire le cube :o)

J'en dirais pas plus, je signale juste que j'ai ajouter une nouvelle source sur le comment faire pour savoir sur quoi clique la souris (systéme que je n'est pas utliser pour le cube hein bon)

http://www.cppfrance.com/code.aspx?ID=19741
Arnaud16022 Messages postés 1329 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 16 juin 2010 2
24 janv. 2004 à 23:29
bon je vous rapelle que je sujet de cette page c'est le source...
jeu tres bien fait, du moins autant que peut l'etre un machin comme un Rubix Cube en 3d... cependant la "jouabilité " n'est pas géniale, je veux dire par la que la représentation que l'on a avec un vrai cube est 100 fois meilleure, la on se perd un peu.Mais encore une fois, je doute fort qu'on puisse faire mieux,BRAVO!
ya juste que la sourc est un peu immense pour moi, je la garde dans un coin de mon disque dur si jamais j'aurai besoin de fonction de la source. et si je m'améliore un peu... je suis pas pres de faire un truc comme ca, meme HoverBike ca a rien a voir (detection dans l'espace et tout ca....)
bon allez, 10/10, ca le vaut je crois :)
continue comme ca!

Ciao
BB
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
23 janv. 2004 à 17:52
^^ voudrais être certain que ça correspond bien au paradis que j'imagine. sinon ben dommage, c t pas ça, il m'a envoyé un mail (merci à lui), mais lui il est plutôt ds les maths pures, pas mal non plus quoi :-)
cs_neodante Messages postés 2835 Date d'inscription lundi 11 août 2003 Statut Modérateur Dernière intervention 16 décembre 2006 11
23 janv. 2004 à 10:36
Ah ce Kirua toujours à la recherche d'info pour ses études !!!! lol
@+
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
22 janv. 2004 à 23:12
voui, la gestion de la souris est impeccable, c un truc dt les joueurs se rendent même pas compte, ... c terrible la vie d'un programmeur amateur :-D

dis, ça m'intéresse ce que tu dis là, tu fais des études d'ingénieur en mécanique?? ça fait un an que je suis pratiquement certain que c'est ça que je veux faire comme études, je viens de lire tout un article sur les particules, et j'adore faire des simulations de dynamique (forces et vitesses). tu pourrais me dire un mot sur tes études par e-mail stp? j'ai 16 ans (17 en février), nicolasboumal arobase hotmail point com, je serais content d'avr un témoignage :-) (j'habite en belgique)
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
22 janv. 2004 à 20:31
ok merci
en tout cas bravo car c'est grace a ca que ton jeu est tres jouable
cs_Trident Messages postés 24 Date d'inscription dimanche 22 juin 2003 Statut Membre Dernière intervention 12 décembre 2004
22 janv. 2004 à 20:29
Désolé pour le plantage, j'ai du réécrire (pb d'envois des messages)...

enfin, oui j'avais vu un tutoriel (j'ai pommé l'adresse, j'était au boullo qd je le lisé :o)) qui expliquer que il fallait faire un affichage a blanc pour savoir ou était la souris, j'avais fait un code (le pyraminx) avec et ca marchais bien ... enfin, des que j'ai qqchose de concret je vous envois
cs_Trident Messages postés 24 Date d'inscription dimanche 22 juin 2003 Statut Membre Dernière intervention 12 décembre 2004
22 janv. 2004 à 20:26
Pour ce qui est de la projection, je relis le code et je me rend compte que c'est un sacré bordel :o)

pour chaqu'un des carré, je prend les 4 poins (les coordonnées en 3d) je donne a 'bool rubix::Isin_face' qui me les 'projette' sur l'écran (calcul les coord quoi), et envois le résultat et les coordonnées de la souris à Isin qui est dans struct.cpp, isin me fait plein des produit scalaire ou vectoriel (cf cour de méca) et me dit si oui ou non la souris et dans le quadrilatére...

je garde 'biensur' la face dont la coordonnée z par rapport à l'écran et la plus petite (d'ou le pointeur sur z pour Isin_face).

... mouaip y'a pas à dire c'est bordélique, (ca fait bocoup de calcul que la carte graph et sencé faire), faut que je retrouve le code du pyraminx...

Trident,
qui se remet au cpp...
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
22 janv. 2004 à 20:25
"... mouaip y'a pas à dire c'est bordélique, (ca fait bocoup de calcul que la carte graph et sencé faire), faut que je retrouve le code du pyraminx..."

la cg est censé faire ce genre de calcul?
cs_Trident Messages postés 24 Date d'inscription dimanche 22 juin 2003 Statut Membre Dernière intervention 12 décembre 2004
22 janv. 2004 à 20:17
Pour ce qui est de la projection, je relis le code et je me rend compte que c'est un sacré bordel :o)

pour chaqu'un des carré, je prend les 4 poins (les coordonnées en 3d) struct.cpp, isin me fait plein des produict scalaire ou vectoriel (cf cour de méca) et me dit si oui ou non la souris et dans le quadrilatére...et j'envois à 'bool rubix::Isin_face' qui me les projette sur l'écran, et envois le résultat et les coordonnées de la souris à Isin qui est dans

je garde 'biensur' la face dont la coordonnée z par rapport à l'écran et la plus petite (d'ou le pointeur sur z pour Isin_face).

... mouaip y'a pas à dire c'est bordélique, (ca fait bocoup de calcul que la carte graph et sencé faire), faut que je retrouve le code du pyraminx...

Trident,
qui se remet au cpp...
cs_Trident Messages postés 24 Date d'inscription dimanche 22 juin 2003 Statut Membre Dernière intervention 12 décembre 2004
22 janv. 2004 à 19:01
Hello,
Et merci pour tout vos messages, j'espéré pas étre remarqué :o)
Pour les problémes de compilation je vous rassure j'ai exactment les même avec la nouvelle version de DevC++ mais cet été qd je l'ai compilé cT sur une vieille version, je sais plus laquelle (y'avais pas l'onglet Classe et les truc dans le genre, je dirais que la version c'été dans les 2. qqchose mais bon, hein j'y met pas ma main, enfin je le saurais d'ici une semaine ....).

Pour le truc du passage 3D-2D j'ai utiliser mon magnifique cour de méca (?!?) mais pour un autre prog (un rubix en forme de tetraédre, tapez pyraminx dans google pour voir) j'ai utiliser une option de OpenGl qui permet de limité la taille de l'écran et de dire si il y'a eu dessin dedans (ici on limite à 1x1 pixel sous la souris et au moment du dessin, on c qu'elle est la face sous la souris...)

Sinon, oui, le code pour le cube qui tourne et ce mellange a été fait en 6h je crois (aprés plusieur essais) pour la souris m'a fallut une semaine :o)

P.S. Y'a aussi les fichiers Pile.cpp et Pile.h qui servent à rien ....
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
22 janv. 2004 à 17:14
j'ai lu pas mal d'articles sur le sujet, et ds plusieurs ils parlaient de créer une "mouse map", càd un tableau bidimensionnel qui contient l'équivalence "position souris" => "tile"

exemple:

struct tile {int X, Y;};

tile **MouseMap; //il faut bien sur allouer la mémoire avec new

//ds une for
MouseMap[Xsouris][Ysouris] = tile(Xtile, Ytile);


j'ai tappé ça à la va vite, parce qu'un bout de code explique svt plus que des mots ;-)
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
21 janv. 2004 à 22:26
ouai je voit, moi aussi je suis en train de faire un truc plus important que d'hab, et je lache souvent l'affaire quand je coince et j'ai justement ce probleme de conversion 2d/3d en ce moment
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
21 janv. 2004 à 22:17
j'envisage très sérieusement de passer à ce genre de jeu un de ces jours mais non, c'était pas dans ce cadre-là.

en fait, j'ai voulu créer un jeu de puissance 4 en 3D, je sais pas si tu vois ce que c'est, c'est un jeu avec 4x4 bâtons de 4 unités de haut, laissant de la place pour un bloc contenant 4x4x4 (en 3D quoi) boules, blanches ou noires. et il faut s'arranger pr en aligner 4 de sa couleur, c'est un jeu génial.

j'ai fait toute la modélisation "à la main", c t assez ch****, mdr ^^ mais le résultat était pas mauvais (effet de bois, lumière, etc ;-))
enfin, je l'ai pas continué parce que c t juste pour combler un manque (envie de coder, mais pas de continuer mon gros projet qui buggait depuis des semaines)
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
21 janv. 2004 à 22:06
ta deja ete confronté a ce pb, genre pour un jeu de role, deplacer ton perso la ou pointe la souris?
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
21 janv. 2004 à 21:58
j'ai vu un code sur le site de NeHe, je l'ai déjà utilisé, mais j'ai pas cherché à comprendre, parce que c t un projet sans lendemain.
mais donc sur NeHe il y a une solution ;-)
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
21 janv. 2004 à 21:55
felicitation! exelent jeu! (ouai celui la est amusant et jouable, le 10/10 est merité)

sinon pour le click de la souris ou "comment convertir une position 2d en 3d", truc tres utiles, et tres utilisée dans les jeux de strategie en 3d, il faut connaitres les matrices de passage
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
21 janv. 2004 à 20:52
j'viens d'essayer une recompilation totale, avec et sans -g (qui n'y était pas), et la taille est identique.
Funto66 Messages postés 1267 Date d'inscription mercredi 1 janvier 2003 Statut Membre Dernière intervention 28 février 2007 4
21 janv. 2004 à 20:48
Hmm... tu es sûr aussi que les informations de débogage ne sont pas créées ? Il me semble que c'est l'option -g.
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
21 janv. 2004 à 20:27
ouais j'ai déjà utilisé ça sur ton conseil, et c'est très bien, mais je doute que bcp de gens ici utilisent ça pr leurs zip's, et pourtant tous ont des petits exe. et avant, j'avais aussi des tt petits exe!! et sur le pc de mon père (NT 2000) également!! je deviens fou, comprends pas ce qui se passe, même en ayant réinstallé dev, remis les options à zéro, ça reste, c déroutant O_o

j'utilise l'astuce -s ds les options de compil', qq un ici m'avait dit d'utiliser ça et c très efficace, mais j'ai jamais aussi bien que ce que je vois ici.
Funto66 Messages postés 1267 Date d'inscription mercredi 1 janvier 2003 Statut Membre Dernière intervention 28 février 2007 4
21 janv. 2004 à 18:15
PS : à Kirua : si tu veux des petits exécutables, utilise UPX (Ultimate Packager for eXecutables) ;)
Funto66 Messages postés 1267 Date d'inscription mercredi 1 janvier 2003 Statut Membre Dernière intervention 28 février 2007 4
21 janv. 2004 à 18:03
Tiens, Kirua ici, ô surprise...;)
Je viens de l'essayer, mais je suis nul au rubix cube lol, j'ai réussi à faire 1 seule face, comme d'hab....mais l'avantage par rapport au "vrai" rubix cube, c'est que là tu peux faire RESET... comme dans la pub avec le truc de l'essoreur la salade, euh pardon je m'égare :p
J'ai pas regardé le code, mais comme dit Kirua la projection entre le clic de la souris et la position 3D du cube touché ne devait pas être simple...
Je vois pas de défaut majeur, le jeu est cool et bien fait, bon allez : 10 ;)
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
21 janv. 2004 à 17:42
un truc que j'ai oublié, tu dois pas mettre les fichiers objets (.o) ds ton zip, ils sont créés par le compilateurs, donc pas besoin
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
21 janv. 2004 à 17:40
'lut,

j'ai recompilé le code avec Dev-C++ 4.9.8.5

j'ai dû modifier tes déclarations de structures (tu mettas void struct ..., j'ai enlevé les 'void', il y en avait trois)
et j'ai aussi dû changer old_repere repere et inversément par old_repere[0] repere[0] puis pareil pr les indices 1 et 2, parce qu'en C++ tu ne peux pas assigner des tableaux avec =. (c'est le compilo qui le dit en tt cas ;-))

aussi, ds un énorme 'switch', (celui du clavier), j'ai dû changer case 27: fin; par case 27: fin();

je comprends pas comment ça a pu compiler chez toi.

une question: comment ça se fait que ton exe fait environ 42Ko, alors que le mien en fait 135 O_o (et qd je compile avec l'option -s ça devient 76Ko), y a un truc que j'ignore? tlm fait des exes si petits :'-(

à part ça bon code :-) juste une question, c'est dans quel fichier que tu fais la détection des clicks de souris, parce que je suppose que ça ça a dû être uen casse tête non? pour savoir sur quelle face le joueur clique...

bonne continuation ;-)
cs_LordBob Messages postés 2865 Date d'inscription samedi 2 novembre 2002 Statut Membre Dernière intervention 11 mai 2009 9
21 janv. 2004 à 07:01
c'est excelent... je n'ai pas encore regarder le code... mais c'est très très bien, une source de qualité en plus sur ce merveilleux site...
c'est très bien continue comme ca...
10/10
Rejoignez-nous