Funto66
Messages postés1267Date d'inscriptionmercredi 1 janvier 2003StatutMembreDernière intervention28 février 2007
-
22 juin 2003 à 14:57
GUF20
Messages postés1Date d'inscriptionjeudi 22 décembre 2011StatutMembreDernière intervention23 décembre 2011
-
23 déc. 2011 à 01:04
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
GUF20
Messages postés1Date d'inscriptionjeudi 22 décembre 2011StatutMembreDernière intervention23 décembre 2011 23 déc. 2011 à 01:04
Bonne nuit
J'ai ouvert votre code dans Microsoft Visual stdio 2010 et ne fonctionne pas. Parce que vous savez?
cs_hamrouni
Messages postés1Date d'inscriptionsamedi 10 septembre 2005StatutMembreDernière intervention13 septembre 2005 13 sept. 2005 à 21:11
pas mal
Funto66
Messages postés1267Date d'inscriptionmercredi 1 janvier 2003StatutMembreDernière intervention28 février 20074 1 juil. 2003 à 15:12
"autant pour moi" --> Kirua m'a appris sur ce site qu'on écrivait "au temps pour moi" et non "autant pour moi", et qu'il tenait ses sources de l'académie française.
Quand j'ai appris un truc, je le resors :)
twxs256
Messages postés7Date d'inscriptionlundi 30 juin 2003StatutMembreDernière intervention22 juillet 2003 1 juil. 2003 à 12:18
autant pour moi, le "par defaut" ete sous entendu...
Funto66
Messages postés1267Date d'inscriptionmercredi 1 janvier 2003StatutMembreDernière intervention28 février 20074 1 juil. 2003 à 10:39
Correction : tout est public dans une struct _par défaut_ alors que tout est private dans une class _par défaut_; si tu fais:
struct UnClasse
{
private:
// ce que tu veux...
};
tu as l'équivalent d'une class.
twxs256
Messages postés7Date d'inscriptionlundi 30 juin 2003StatutMembreDernière intervention22 juillet 2003 1 juil. 2003 à 09:38
"Pour faire de la POO il ne sufffit pas de remplacer struct par class..."
juste au passage : rien ne t'empeche de faire du C++ avec des struct.
les struct, en c++, supportent methode, heritage, ctor, ... la seul difference avec une classe c'est que tout est public. Donc si tu n'a pas besoin de membres prives ou protected, struct == class!!
twxs256
Messages postés7Date d'inscriptionlundi 30 juin 2003StatutMembreDernière intervention22 juillet 2003 1 juil. 2003 à 09:38
"Pour faire de la POO il ne sufffit pas de remplacer struct par class..."
juste au passage : rien ne t'empeche de faire du C++ avec des struct.
les struct, en c++, supportent methode, heritage, ctor, ... la seul difference avec une classe c'est que tout est public. Donc si tu n'a pas besoin de membres prives ou protected, struct == class!!
twxs256
Messages postés7Date d'inscriptionlundi 30 juin 2003StatutMembreDernière intervention22 juillet 2003 1 juil. 2003 à 09:37
"Pour faire de la POO il ne sufffit pas de remplacer struct par class..."
juste au passage : rien ne t'empeche de faire du C++ avec des struct.
les struct, en c++, supportent methode, heritage, ctor, ... la seul difference avec une classe c'est que tout est public. Donc si tu n'a pas besoin de membres prives ou protected, struct == class!!
Funto66
Messages postés1267Date d'inscriptionmercredi 1 janvier 2003StatutMembreDernière intervention28 février 20074 26 juin 2003 à 10:43
De toutes façons, beaucoup des sources de ce site ne sont pas terminées ! Allez trinitacs, s'il te plaît ... :)
trinitacs
Messages postés249Date d'inscriptionmardi 16 juillet 2002StatutMembreDernière intervention 7 août 20032 24 juin 2003 à 19:18
Je n'y avais jamais pensé et la plus part du temps je ne termine pas mes sources :)
Funto66
Messages postés1267Date d'inscriptionmercredi 1 janvier 2003StatutMembreDernière intervention28 février 20074 24 juin 2003 à 14:31
C'est un point de vue, on en a déjà discuté, j'arrête :)
trinitacs, pourquoi t'as mis aucun de tes progs en OpenGL sur le site ?
trinitacs
Messages postés249Date d'inscriptionmardi 16 juillet 2002StatutMembreDernière intervention 7 août 20032 24 juin 2003 à 13:38
"Je comprends toujours pas ce que tu as contre les fonctions C standard dans la POO... Tu utilises bien OpenGL et GLFW qui sont écrites en C dans un programme en C++, non ?"
Pour lire des fichiers, le C++ propose ses propres classe de flux, alors pourquoi utiliser des fonctions C quand il y a les même souvent bien mieux en C++ ?
Si tu programmes en C, utilise les fonctions C; si tu programmes en C++ utilises les fonctions C++. Tu n'est pas obligé de le faire mais ça fait porcos sinon.
Funto66
Messages postés1267Date d'inscriptionmercredi 1 janvier 2003StatutMembreDernière intervention28 février 20074 24 juin 2003 à 12:22
Je suis allé faire un tour sur le site de GLFW par curiosité.
Et là je vois que la dernière new date du 27 janvier 2003.
Dommage... :(
"GLUT n'est plus développpé depuis 1997, donc tu ne tire pas profit de t'as dernière Gforce."
De toutes façons j'ai une vieille carte pourrie :)
Mais je vois pas trop ce que tu veux dire : GLUT et GLFW servent à gérer les fenêtres et l'input clavier et souris, donc à quoi sert la dernière GeForce ? A moins que tu ne fasses allusion aux fonctions du style glutSolidSphere()...etc
Par contre un truc qui est intéressant avec GLFW que j'ai vu sur le site : chargement de TGAs :) Mais comme j'utilise DevIL, ça me servira pas beaucoup.
Je comprends toujours pas ce que tu as contre les fonctions C standard dans la POO... Tu utilises bien OpenGL et GLFW qui sont écrites en C dans un programme en C++, non ?
trinitacs
Messages postés249Date d'inscriptionmardi 16 juillet 2002StatutMembreDernière intervention 7 août 20032 24 juin 2003 à 11:21
GLUT n'est plus développpé depuis 1997, donc tu ne tire pas profit de t'as dernière Gforce.
GLFW est encore développé et est dispponible sur plusieurs platformes.
GLUT propose plus de fonctions que GLFW.
Je préfère utiliser GLFW à GLUT car c'est moins contraignant: pas obligé de faire certaines fonctions etc...
En plus GLFW est léger.
Pour faire de la POO il ne sufffit pas de remplacer struct par class. Ca apporte une autre logique de fonnctionnement comme l'héritage par exemple. En même temps son code utilises des fonctions C. Donc pour faire vraiment un code objet il doit tout le recommncer pratiquement.
cs_badrbadr
Messages postés475Date d'inscriptionjeudi 19 juin 2003StatutMembreDernière intervention 3 novembre 20081 23 juin 2003 à 19:41
merci pour vos commentaire tout le monde
Funto66
Messages postés1267Date d'inscriptionmercredi 1 janvier 2003StatutMembreDernière intervention28 février 20074 23 juin 2003 à 17:42
badrbadr, un tout dernier truc : tu as oublié de choisir la catégorie "Jeux" quand tu as ajouté ta source; il suffit que tu ailles à "Modifier une source"
trinitacs>> Pour ce qui est de la POO, je trouve qu'il n'en est pas tellement loin; il a une structure "jeu" et des fonctions globales qui concernent le déroulement du jeu, il lui suffirait juste d'encapsuler ces fonctions dans une class "jeu". Aussi, une question; GLFW est meilleur que GLUT et encore développé ou pas ?
trinitacs
Messages postés249Date d'inscriptionmardi 16 juillet 2002StatutMembreDernière intervention 7 août 20032 23 juin 2003 à 10:11
J'ai remarqué qu'il y avait énormément de boucles for dans ton code. Revoie ton algo et pour limiter lle nombre de for et tu optimises les boucles qui te restent. Tu peux "dérouler" tes boucles et améliorer ton code en suprrimant ce qui est inutil.
trinitacs
Messages postés249Date d'inscriptionmardi 16 juillet 2002StatutMembreDernière intervention 7 août 20032 23 juin 2003 à 10:05
"connaissez-vous des trucs pour améliorer la vitesse des jeux 2d."
- Tu peux désactiver certaines options d'OpenGl qui ne te sont pas nécessaire.
- Améliorer l'envoie des vertex, couleurs à OpenGl. Car à chaqque fois tu fais glVertex*( ... ) Utilise plutot les ffonctions glVertexPointer, glColorPointer etc...
- Ensuite tu devrais créer plussieurs fichiiers soources
Pour ce qui est de C++ je trouve qu'il en esst encore loin. Les fonctions fprintf et cie et son code procédurale c'est loin d'être du C. En C++ l'unité de programmation c'est la classe et non la foonction comme en C.
Sinon tu devraais remplacer tes //*************************** par une brève description de tes fonctions :)
badrbadr: "j'avoue que la programmation Linux me fait peur", " Je tiens d'abord à maitriser un peu la programmation sur windows"
Tu sais je ne connais ni la prog windows, ni la prog linux. Je me contente de faaire des codes portables en utilisant des bibliothèques. Ainsi j'utillise glfw pour OpenGl: http://hem.passagen.se/opengl/glfw/
Funto66
Messages postés1267Date d'inscriptionmercredi 1 janvier 2003StatutMembreDernière intervention28 février 20074 22 juin 2003 à 21:13
Pour porter ton programme sous Linux, y'a que quelques modifs à faire, qui consistent à supprimer le code qui utilise windows.h, comme PlaySound, que tu pourrais remplacer par FMOD.
Un bon site sur fmod : http://fmod-fr.apinc.org
cs_badrbadr
Messages postés475Date d'inscriptionjeudi 19 juin 2003StatutMembreDernière intervention 3 novembre 20081 22 juin 2003 à 19:37
Que de bonnes idées Funto.
merci pour la technique sous vc++, elle drolement interressante et même utile.
j'avoue que la programmation Linux me fait peur. mais si j'ai la derniere version de Mandrake(la plus facie). Je tiens d'abord à maitriser un peu la programmation sur windows.
merci encore pour ta technique sur vc++
Funto66
Messages postés1267Date d'inscriptionmercredi 1 janvier 2003StatutMembreDernière intervention28 février 20074 22 juin 2003 à 18:24
Ah oui, j'ai oublié un dernier truc; pour les sons, tu devrais utiliser FMOD; c'est une librairie vachement puissante (plusieurs sons à la fois, sons 3D...) qui est gratuite et portable : www.fmod.org
Tu pourrais porter ton Tetris sous Linux :)
Funto66
Messages postés1267Date d'inscriptionmercredi 1 janvier 2003StatutMembreDernière intervention28 février 20074 22 juin 2003 à 18:21
Re-salut badrbadr !
Pour se passer des FreeConsole sous Visual C++ :
-Ouvre le menu Project->Settings
-Onglet Link
-Dans la zone de texte du bas "Project Options", tu cherches où est marqué "/subsystem:console" et tu le remplaces par "/subsystem:windows" (sans les guillemets)
-Ensuite, tu dois indiquer que ton programme commence avec main(); dans la liste "Category", tu choisis "Output", et dans "Entry-point symbol", tu tapes exactement "mainCRTStartup" (sans les guillemets).
Pour ce qui est de l'optimisation de ton jeu, je vois pas trop où y'en aurait besoin à part ce que je t'ai dis dans le premier post à propos du déplacement contrôlé par le joueur, qui ne doit pas dépendre de la descente de la pièce.
Tiens, en re-survolant ton code, je viens de voir glutTimerFunc; connaissait pas, on en apprend tous les jours :) Merde, moi je m'étais fait chier avec les <sys/timeb.h> et compagnie pour contrôler le rythme !!
Ben voilà :)
cs_badrbadr
Messages postés475Date d'inscriptionjeudi 19 juin 2003StatutMembreDernière intervention 3 novembre 20081 22 juin 2003 à 17:44
MERCI BEAUCOUP FUNTO66
en passant:
connaissez-vous des trucs pour améliorer la vitesse des jeux 2d.
merci encore
cs_badrbadr
Messages postés475Date d'inscriptionjeudi 19 juin 2003StatutMembreDernière intervention 3 novembre 20081 22 juin 2003 à 17:29
en passant allez voir mon autre programme.
une belle animation.
quoi qu'il faut un puissant ordinateur.
cs_badrbadr
Messages postés475Date d'inscriptionjeudi 19 juin 2003StatutMembreDernière intervention 3 novembre 20081 22 juin 2003 à 17:28
salut funto66,
j utilise Visual C++ 6, et j'aimerai savoir le moyen de me passer des "FreeConsole". tu connais le moyen?
merci
cs_AmK
Messages postés368Date d'inscriptionjeudi 13 mars 2003StatutMembreDernière intervention27 janvier 20101 22 juin 2003 à 17:08
tiens voila 10/10 :)
merci qui?
gogo.prog
Messages postés5Date d'inscriptionlundi 21 février 2000StatutMembreDernière intervention11 mai 2003 22 juin 2003 à 15:29
tous ces gens qui debutent et qui font des jeux utilisable...
moi je debute vraiment, je ne comprend pas cmt ca marche glut en c++ :/
Funto66
Messages postés1267Date d'inscriptionmercredi 1 janvier 2003StatutMembreDernière intervention28 février 20074 22 juin 2003 à 14:57
Salut badrbadr !
Ton Tétris est pas mal; il n'y en n'a que 2 sur le site le tien et le mien :) q (en tous cas j'en n'ai pas trouvé d'autres) que tu peux trouver à :
http://www.cppfrance.com/article.aspx?ID=1958
Ton Tétris est plus abouti que le mien :) avec la gestion des meilleurs scores, une texture en fond, des sons, des boutons...
J'ai vu que pour les différentes figures, ça tenait dans un fichier fichier.fig; en + on peut rajouter de nouvelles figures sans toucher au code ?? Aussi, bravo pour le chargement de texture sans utiliser de librairie comme Glaux ou DevIL !
Donc voilà pour les points positifs, maintenant je trouve que le jeu est un peu lent (en tous cas sur ma bécane, 600 Mhz et ATI Rage Pro...)
Aussi, je sais pas si c'est normal, mais la musique s'arrête dès que l'on appuie sur la flèche du haut :(
Aussi, tu aurais peut-être dû mettre ton jeu totalement en orienté objet C++; tu n'en n'est pas loin avec tes structures.
Aussi, au niveau du code, au leiu de faire un FreeConsole() au début du main, tu aurais pu changer les paramètres de ton projet à la compilation; dis-moi quel compilo tu utilises et je te dirai comment il faut faire.
Aussi, c'est + gênant, au niveau des déplacements des pièces, je pense que ce serait mieux de pouvoir déplacer les pièces sans devoir attendre que ce soit le moment où la pièce descend d'un cran, enfin je sais pas si j'ai été clair... :)
Et ce Tetris, tu l'as fait en 2002, et pourquoi tu l'as pas mis sur le site avant ?
23 déc. 2011 à 01:04
J'ai ouvert votre code dans Microsoft Visual stdio 2010 et ne fonctionne pas. Parce que vous savez?
13 sept. 2005 à 21:11
1 juil. 2003 à 15:12
Quand j'ai appris un truc, je le resors :)
1 juil. 2003 à 12:18
1 juil. 2003 à 10:39
struct UnClasse
{
private:
// ce que tu veux...
};
tu as l'équivalent d'une class.
1 juil. 2003 à 09:38
juste au passage : rien ne t'empeche de faire du C++ avec des struct.
les struct, en c++, supportent methode, heritage, ctor, ... la seul difference avec une classe c'est que tout est public. Donc si tu n'a pas besoin de membres prives ou protected, struct == class!!
1 juil. 2003 à 09:38
juste au passage : rien ne t'empeche de faire du C++ avec des struct.
les struct, en c++, supportent methode, heritage, ctor, ... la seul difference avec une classe c'est que tout est public. Donc si tu n'a pas besoin de membres prives ou protected, struct == class!!
1 juil. 2003 à 09:37
juste au passage : rien ne t'empeche de faire du C++ avec des struct.
les struct, en c++, supportent methode, heritage, ctor, ... la seul difference avec une classe c'est que tout est public. Donc si tu n'a pas besoin de membres prives ou protected, struct == class!!
26 juin 2003 à 10:43
24 juin 2003 à 19:18
24 juin 2003 à 14:31
trinitacs, pourquoi t'as mis aucun de tes progs en OpenGL sur le site ?
24 juin 2003 à 13:38
Pour lire des fichiers, le C++ propose ses propres classe de flux, alors pourquoi utiliser des fonctions C quand il y a les même souvent bien mieux en C++ ?
Si tu programmes en C, utilise les fonctions C; si tu programmes en C++ utilises les fonctions C++. Tu n'est pas obligé de le faire mais ça fait porcos sinon.
24 juin 2003 à 12:22
Et là je vois que la dernière new date du 27 janvier 2003.
Dommage... :(
"GLUT n'est plus développpé depuis 1997, donc tu ne tire pas profit de t'as dernière Gforce."
De toutes façons j'ai une vieille carte pourrie :)
Mais je vois pas trop ce que tu veux dire : GLUT et GLFW servent à gérer les fenêtres et l'input clavier et souris, donc à quoi sert la dernière GeForce ? A moins que tu ne fasses allusion aux fonctions du style glutSolidSphere()...etc
Par contre un truc qui est intéressant avec GLFW que j'ai vu sur le site : chargement de TGAs :) Mais comme j'utilise DevIL, ça me servira pas beaucoup.
Je comprends toujours pas ce que tu as contre les fonctions C standard dans la POO... Tu utilises bien OpenGL et GLFW qui sont écrites en C dans un programme en C++, non ?
24 juin 2003 à 11:21
GLFW est encore développé et est dispponible sur plusieurs platformes.
GLUT propose plus de fonctions que GLFW.
Je préfère utiliser GLFW à GLUT car c'est moins contraignant: pas obligé de faire certaines fonctions etc...
En plus GLFW est léger.
Pour faire de la POO il ne sufffit pas de remplacer struct par class. Ca apporte une autre logique de fonnctionnement comme l'héritage par exemple. En même temps son code utilises des fonctions C. Donc pour faire vraiment un code objet il doit tout le recommncer pratiquement.
23 juin 2003 à 19:41
23 juin 2003 à 17:42
trinitacs>> Pour ce qui est de la POO, je trouve qu'il n'en est pas tellement loin; il a une structure "jeu" et des fonctions globales qui concernent le déroulement du jeu, il lui suffirait juste d'encapsuler ces fonctions dans une class "jeu". Aussi, une question; GLFW est meilleur que GLUT et encore développé ou pas ?
23 juin 2003 à 10:11
23 juin 2003 à 10:05
- Tu peux désactiver certaines options d'OpenGl qui ne te sont pas nécessaire.
- Améliorer l'envoie des vertex, couleurs à OpenGl. Car à chaqque fois tu fais glVertex*( ... ) Utilise plutot les ffonctions glVertexPointer, glColorPointer etc...
- Ensuite tu devrais créer plussieurs fichiiers soources
Pour ce qui est de C++ je trouve qu'il en esst encore loin. Les fonctions fprintf et cie et son code procédurale c'est loin d'être du C. En C++ l'unité de programmation c'est la classe et non la foonction comme en C.
Sinon tu devraais remplacer tes //*************************** par une brève description de tes fonctions :)
badrbadr: "j'avoue que la programmation Linux me fait peur", " Je tiens d'abord à maitriser un peu la programmation sur windows"
Tu sais je ne connais ni la prog windows, ni la prog linux. Je me contente de faaire des codes portables en utilisant des bibliothèques. Ainsi j'utillise glfw pour OpenGl: http://hem.passagen.se/opengl/glfw/
22 juin 2003 à 21:13
Un bon site sur fmod : http://fmod-fr.apinc.org
22 juin 2003 à 19:37
merci pour la technique sous vc++, elle drolement interressante et même utile.
j'avoue que la programmation Linux me fait peur. mais si j'ai la derniere version de Mandrake(la plus facie). Je tiens d'abord à maitriser un peu la programmation sur windows.
merci encore pour ta technique sur vc++
22 juin 2003 à 18:24
Tu pourrais porter ton Tetris sous Linux :)
22 juin 2003 à 18:21
Pour se passer des FreeConsole sous Visual C++ :
-Ouvre le menu Project->Settings
-Onglet Link
-Dans la zone de texte du bas "Project Options", tu cherches où est marqué "/subsystem:console" et tu le remplaces par "/subsystem:windows" (sans les guillemets)
-Ensuite, tu dois indiquer que ton programme commence avec main(); dans la liste "Category", tu choisis "Output", et dans "Entry-point symbol", tu tapes exactement "mainCRTStartup" (sans les guillemets).
Pour ce qui est de l'optimisation de ton jeu, je vois pas trop où y'en aurait besoin à part ce que je t'ai dis dans le premier post à propos du déplacement contrôlé par le joueur, qui ne doit pas dépendre de la descente de la pièce.
Tiens, en re-survolant ton code, je viens de voir glutTimerFunc; connaissait pas, on en apprend tous les jours :) Merde, moi je m'étais fait chier avec les <sys/timeb.h> et compagnie pour contrôler le rythme !!
Ben voilà :)
22 juin 2003 à 17:44
en passant:
connaissez-vous des trucs pour améliorer la vitesse des jeux 2d.
merci encore
22 juin 2003 à 17:29
une belle animation.
quoi qu'il faut un puissant ordinateur.
22 juin 2003 à 17:28
j utilise Visual C++ 6, et j'aimerai savoir le moyen de me passer des "FreeConsole". tu connais le moyen?
merci
22 juin 2003 à 17:08
merci qui?
22 juin 2003 à 15:29
moi je debute vraiment, je ne comprend pas cmt ca marche glut en c++ :/
22 juin 2003 à 14:57
Ton Tétris est pas mal; il n'y en n'a que 2 sur le site le tien et le mien :) q (en tous cas j'en n'ai pas trouvé d'autres) que tu peux trouver à :
http://www.cppfrance.com/article.aspx?ID=1958
Ton Tétris est plus abouti que le mien :) avec la gestion des meilleurs scores, une texture en fond, des sons, des boutons...
J'ai vu que pour les différentes figures, ça tenait dans un fichier fichier.fig; en + on peut rajouter de nouvelles figures sans toucher au code ?? Aussi, bravo pour le chargement de texture sans utiliser de librairie comme Glaux ou DevIL !
Donc voilà pour les points positifs, maintenant je trouve que le jeu est un peu lent (en tous cas sur ma bécane, 600 Mhz et ATI Rage Pro...)
Aussi, je sais pas si c'est normal, mais la musique s'arrête dès que l'on appuie sur la flèche du haut :(
Aussi, tu aurais peut-être dû mettre ton jeu totalement en orienté objet C++; tu n'en n'est pas loin avec tes structures.
Aussi, au niveau du code, au leiu de faire un FreeConsole() au début du main, tu aurais pu changer les paramètres de ton projet à la compilation; dis-moi quel compilo tu utilises et je te dirai comment il faut faire.
Aussi, c'est + gênant, au niveau des déplacements des pièces, je pense que ce serait mieux de pouvoir déplacer les pièces sans devoir attendre que ce soit le moment où la pièce descend d'un cran, enfin je sais pas si j'ai été clair... :)
Et ce Tetris, tu l'as fait en 2002, et pourquoi tu l'as pas mis sur le site avant ?
Bon, c'était long, mais j'ai plus rien à dire :)