begin process at 2012 02 12 14:17:39
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Jeux

 > TETRIS JEU AVEC OPENGL/GLUT

TETRIS JEU AVEC OPENGL/GLUT


 Information sur la source

Note :
9,5 / 10 - par 2 personnes
9,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Jeux Classé sous :tetris, glut, opengl, c, jeu Niveau :Débutant Date de création :22/06/2003 Date de mise à jour :30/10/2006 02:14:15 Vu / téléchargé :6 411 / 785

Auteur : badrbadr

Ecrire un message privé
Site perso
Commentaire sur cette source (28)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
salut,
voila, c'est mon premier jeu et j'espere qu'il sera a la hauteur.
j'aimerai avoir de vos commentaires [une note sur 10] etant donne que je debute.
merci

options:
fleches -> experimentez les
p -> pause

il y a des options integrees avec le jeu [ nouvelle partie - charger(c) - enregistrer(e) - quitter ]


 Conclusion

faites moi connaitre vos commentaires svp

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

30 octobre 2006 02:14:16 :
ajouter les mots-clés

 Sources du même auteur

Source avec Zip Source avec une capture TACHEKILLER -- TUEUR DE TACHE
Source avec Zip PROGRAMME SIMULANT DES EXERCICES DE MATHS AVEC POINTAGE [POU...
Source avec Zip Source avec une capture MONTRE DANS UNE FENETRE NON-RECTANGULAIRE AVEC PLUSIEURS CLI...
Source avec Zip Source avec une capture FENETRE NON RECTANGULAIRE SOUS WINDOWS
Source avec Zip Source avec une capture CHARGEUR D'IMAGES BMP AVEC MFC

 Sources de la même categorie

Source avec Zip Source avec une capture JEUX SERPENT par antho974
Source avec Zip Source avec une capture PENDU EN SDL par Damsou91
Source avec Zip STATE MACHINE MODIFICATION MATH BUCKHAM par billybones79
Source avec Zip AUTRE GRILLE DE SUDOKU par Eneur
Source avec Zip Source avec une capture SOKOBAN EN C POUR DÉBUTANT (VERSION AMÉLIORÉE BASÉE SUR LE T... par eustatika

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture BESOIN D'AIDE ET D'AVIS POUR JEU ROBOT POUSSE-PUCK par Heyho
Source avec Zip ESSAI D'UN TETRIS AVEC OPENGL par anthonygiroud
Source avec Zip Source avec une capture TETRIS EN OPENGL par Stepharcher
Source avec Zip TETRIS OPENGL AVEC GLUT par neodante
Source avec Zip TETRIS EN OPENGL/GLUT par Funto66

Commentaires et avis

Commentaire de Funto66 le 22/06/2003 14:57:45

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 ?

Bon, c'était long, mais j'ai plus rien à dire :)

Commentaire de gogo.prog le 22/06/2003 15:29:02

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++ :/

Commentaire de AmK le 22/06/2003 17:08:04

tiens voila 10/10 :)
merci qui?

Commentaire de badrbadr le 22/06/2003 17:28:09

salut funto66,
j utilise Visual C++ 6, et j'aimerai savoir le moyen de me passer des "FreeConsole". tu connais le moyen?
merci

Commentaire de badrbadr le 22/06/2003 17:29:25

en passant allez voir mon autre programme.
une belle animation.
quoi qu'il faut un puissant ordinateur.

Commentaire de badrbadr le 22/06/2003 17:44:56

MERCI BEAUCOUP FUNTO66
en passant:
connaissez-vous des trucs pour améliorer la vitesse des jeux 2d.
merci encore

Commentaire de Funto66 le 22/06/2003 18:21:07

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à :)

Commentaire de Funto66 le 22/06/2003 18:24:55

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 :)

Commentaire de badrbadr le 22/06/2003 19:37:14

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++

Commentaire de Funto66 le 22/06/2003 21:13:32

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

Commentaire de trinitacs le 23/06/2003 10:05:08

"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/

Commentaire de trinitacs le 23/06/2003 10:11:20

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.

Commentaire de Funto66 le 23/06/2003 17:42:44

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 ?

Commentaire de badrbadr le 23/06/2003 19:41:42

merci pour vos commentaire tout le monde

Commentaire de trinitacs le 24/06/2003 11:21:26

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.

Commentaire de Funto66 le 24/06/2003 12:22:51

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 ?

Commentaire de trinitacs le 24/06/2003 13:38:32

"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.

Commentaire de Funto66 le 24/06/2003 14:31:52

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 ?

Commentaire de trinitacs le 24/06/2003 19:18:49

Je n'y avais jamais pensé et la plus part du temps je ne termine pas mes sources :)

Commentaire de Funto66 le 26/06/2003 10:43:18

De toutes façons, beaucoup des sources de ce site ne sont pas terminées ! Allez trinitacs, s'il te plaît ... :)

Commentaire de twxs256 le 01/07/2003 09:37:27

"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!!

Commentaire de twxs256 le 01/07/2003 09:38:02

"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!!

Commentaire de twxs256 le 01/07/2003 09:38:20

"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!!

Commentaire de Funto66 le 01/07/2003 10:39:26

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.

Commentaire de twxs256 le 01/07/2003 12:18:28

autant pour moi, le "par defaut"  ete sous entendu...

Commentaire de Funto66 le 01/07/2003 15:12:10

"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 :)

Commentaire de hamrouni le 13/09/2005 21:11:51

pas mal

Commentaire de GUF20 le 23/12/2011 01:04:13

Bonne nuit
J'ai ouvert votre code dans Microsoft Visual stdio 2010 et ne fonctionne pas. Parce que vous savez?

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Pour 2d opengl/glut > ddraw ? [ par gimli123 ] Bonjour à tous, j'ai tester les 2, à savoir direct draw et opengl/glut, mais j'aimerai savoir si il y en as un qui est plus performant que l'autre et QT OpenGL FPS [ par xabila ] bonjour, voilà j'ai passé un de mes codes glut OpenGL sous QT et en fait je n'arrive pass à convetir mon calcule des fps qui étai probleme pour creer demineur en opengl avec glut (dev c++) [ par bat0001 ] Dans le cadre d'un projet en informatique, je dois faire un demineur avec une interface graphique avec opengl (glut). etant debutant en la matiere, je transparence (Opengl & Glut) [ par norton ] Bonjour, j'utilise la librairie Glut pour mon jeu. j'aimerai charger un sprite et l'appiqué sur un carré dessiné avec glut (taille de la texture 64*64 superposer des images en opengl/glut [ par gimli123 ] Bonjour, est-il possible de superposer de .tga ?Et au faite, en passant, comment doit-on faire pour que les images bouges en translation ? si oui comm system coordonne opengl/glut [ par gimli123 ] Salut tout le monde je suis en train de faire un petit jeu(tout du moins j'essai) et donc pour le menu je fais des boutons. Mais lorsque j'essai de fa OpenGL et Glut: saisie clavier [ par bluelambda ] Salut à tous ! Voilà j'ai fait un petit programme qui utilise OpenGL avec GLUT. C'est un programme très basique, avec juste une fonct Curseur de la souris avec opengl/glut [ par mondrone ] comment faire pour rendre la souris invisible avec opengl et ou glut ? J'ai deja vu qu'on peut changer le curseur, mais pas qu'on peut soit mettre une Opengl glut debutant menu graphique [ par gravel ] Bonjour, j'aimerais savoir comment on fais en opengl/glut pour faire afichier un image fixe. Je veux dire que si j'ai un screen en 800x600 et que j'm' Souris & OpenGL (Glut) [ par norton ] hello, j'aimerai afficher un bitmap à la position de la souris (au clique)pour ce qui est de l'axe X pas de prob mais en Y y a un ptit souci


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,590 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales