Aller au contenu

Un petit jeu marrant en C++


legame

Messages recommandés

Bonjour

Je débute en C++ (vraiment un débutant) et je voudrais savoir comment créer un petit jeu marrant avec une image qui de déplace sur l'écran et avec une cible la viser et tirer dedans. Pour l'instant j'ai fait un petit programme de rien du tout mais c'est une console application je pense qu'il faudrait une application windows, que je n'arrive pa du tout à gérer! J'utilise Dev C++. Je suis vraiment nul :transpi: !

Merciiiiiii beaucoup.

Lien vers le commentaire
Partager sur d’autres sites

snif :francais::transpi:

PERSONNE NE REPOND!

:oops:

1h après ton post, et tu es déjà pressé !!

il faut etre patient, tout le monde n'est pas connecté au même moment que toi.

et tu commences un peu fort, sans connaissance du c++, tu attaques directement un jeu !!

j'espere que tu as des notions de programmation, sinon ca va etre un peu dur au début

Tu peux aussi regarder dans le lien des sites interessants des INpactiens

http://www.pcinpact.com/forum/index.php?showtopic=29975

si ca t'interesse, tu y trouveras des liens vers les sites de certaines sources de vieux jeux (dos et windows)

mais il n'y a aucun commentaire dans le code :transpi:

sinon comme Galdor : la SDL

ou alors GDI et DirectX (mais ca fonctionnera que sur Windows)

Lien vers le commentaire
Partager sur d’autres sites

- Le GDI: lourd, incomfortable, très très limité, ne fonctionne que sous windows

- DirectX: extrêmement puissant, mais un peu plus dur à aborder, et surtout, fout la m**** pour travailler avec (visual c++ quasiment imposé, c'est l'horreur avec les autres compilos), ne fonctionne aussi que sous windows.

- SDL: très simple, fait à peu près tout, du moins en 2d (pour la 3d, envisager OpenGL avec une lib style Irrlicht/Ogre), fonctionne sur pas mal de plates-formes, sur tous les compilos.

Sinon on peut très bien s'orienter très vite vers la prog graphique, mais il y a un minimum à maîtriser en c++ pur:

- Les classes ;

- Les pointeurs ;

- L'héritage et des notions de polymorphisme

Pour pondre du bon code, je conseille également de se mettre à la STL et aux templates.

/!\ Tous les exemples fournis de SDL que j'ai trouvé sont en C. Il convient donc de remplacer les printf et autre fprintf par des streams (cout, fstream...), les char et char* par des std::string, les tableaux à taille variable par des std::vector, etc...

Lien vers le commentaire
Partager sur d’autres sites

- Le GDI: lourd, incomfortable, très très limité, ne fonctionne que sous windows

- DirectX: extrêmement puissant, mais un peu plus dur à aborder, et surtout, fout la m**** pour travailler avec (visual c++ quasiment imposé, c'est l'horreur avec les autres compilos), ne fonctionne aussi que sous windows.

- SDL: très simple, fait à peu près tout, du moins en 2d (pour la 3d, envisager OpenGL avec une lib style Irrlicht/Ogre), fonctionne sur pas mal de plates-formes, sur tous les compilos.

Tout à fait d'accord

Seul "inconvénient" à la SDL, c'est que c'est une surcouche

donc un léger ralentissement à l'exécution.

mais sinon "rapidité" pour coder

il ya aussi la librairie sxdl qui hérite de la sdl

mais je ne sais pas ce qu'elle vaut

elle est sensée comblée certains vides de la sdl (3D notamment)

http://prografix.games-creators.org/document/156

http://sxdl.sourceforge.net/

Sinon on peut très bien s'orienter très vite vers la prog graphique, mais il y a un minimum à maîtriser en c++ pur:

- Les classes ;

- Les pointeurs ;

- L'héritage et des notions de polymorphisme

Pour pondre du bon code, je conseille également de se mettre à la STL et aux templates.

tout à fait d'accord aussi

et aussi un peu d'optimisation dans les routines d'affichage (enfin ca se fait plutot à la fin du projet)

Lien vers le commentaire
Partager sur d’autres sites

La SDL, c'est excellent pour les jeux 2D, par contre pour la 3d, effectivement, ça souffre du fait d'être une surcouche.

La SxDL, j'y ai touché quasiment dès sa création, et pendant pas mal de temps.

1/ Elle ne dérive pas de la SxDL, elle est totalement nouvelle, s'appuyant sur l'application wizard de Dx9 ;

2/ Elle est très 'guidée', dans le sens où il y a des choses que tu ne peux pas faire sans revoir l'architecture de la sxdl ;

3/ Elle n'est pas pratique (système de renderers+sprites au lieu de sprites seuls) ;

4/ Elle est lourde (chargement longs, menus très lents...) ;

5/ Elle n'est pas bien supportée (nécessite VS.NET 2002/2003/2005 et windows) ;

Son unique avantage et d'être simple d'accès.... et c'est tout. Donc un conseil, il vaut mieux commencer avec autre chose.

Pour l'optimisation, on optimise TOUJOURS d'abord les algos avant le code, donc il y a le temps de voir venir :)

Lien vers le commentaire
Partager sur d’autres sites

Pour l'optimisation, on optimise TOUJOURS d'abord les algos avant le code, donc il y a le temps de voir venir :)

ok pour optimiser les algos au début

mais au niveau de la compilation, tu peux voir que le code généré n'est pas toujours bien optimisé, notamment pour les compilo C/C++

donc c'est à ce niveau là, qu'il faut revoir certaines optimisations

pour la SDL, l'avant dernière version était équivalente à DirectX 5 (environ)

je ne sais pas ce qu'il en est pour la dernière...

mais c'est suffisant pour commencer

si ton jeu doit focntionner que sous Windows et qu'il est du style Démineur, Solitaire, ... et sans effets spéciaux particuliers

le GDI suffit amplement

c'est après, si tu veux faire des jeux/applis plus puissantes, alors il faudra se tourner vers des librairies appropriées (SDL, OpenGL, DirectX, ....)

Lien vers le commentaire
Partager sur d’autres sites

Ouaip, sauf qu'avec le GDI, tu prend de mauvaise habitudes, et que sous windows. il vaut mieux s'habituer à utiliser un vrai framework pour ne pas être dépaysé par la suite.

Pour ce qui est du code généré, avant de pouvoir optimiser ça, bah ya le temps, après 5 ans de prog, je ne le fais toujours pas, donc bon.

SDL n'est pas 'équivalent à Dx5, ça ne veut rien dire, je ne sais pas quelle version elle utilise, mais elle doit de tte manière s'appuyer sur la denrière api sortie (donc Dx9), sans forcémnt en utiliser les fonctionnalités avancées.

De tte manière, comme je l'ai dis, on n'utilise pas la SDL pour les effets de haut-niveau, mais uniquement pour les bases, donc il y a toujours le temps d'aller fouiller plus haut, plus tard.

Lien vers le commentaire
Partager sur d’autres sites

Pour ce qui est du code généré, avant de pouvoir optimiser ça, bah ya le temps, après 5 ans de prog, je ne le fais toujours pas, donc bon.
je l'ai vu dès la 1ere année en cours d'assembleur

sinon, avec le compilateur C/C++, tu as une option pour avoir le pseudo code générer en asm (option -S avec la plupart des compilo)

et ensuite tu optimises ce code assembleur, puis tu recompiles le fichier ainsi modifié...

SDL n'est pas 'équivalent à Dx5, ça ne veut rien dire, je ne sais pas quelle version elle utilise, mais elle doit de tte manière s'appuyer sur la denrière api sortie (donc Dx9), sans forcémnt en utiliser les fonctionnalités avancées.

De tte manière, comme je l'ai dis, on n'utilise pas la SDL pour les effets de haut-niveau, mais uniquement pour les bases, donc il y a toujours le temps d'aller fouiller plus haut, plus tard.

SDL utilise les fonctions d'affichage du système d'exploitation sur lequel elle est utilisée.

Donc sur Windows, elle utilise DirectX (en l'occurence la dernière version)

mais elle n'a pas accès à toutes les fonctionnalités des dernières versions de DirectX.

C'est pourquoi je disais qu'elle était "équivalente" à DX5

car elle n'utilise pas les fonctionnalités supérieures à DX5

Lien vers le commentaire
Partager sur d’autres sites

sinon, avec le compilateur C/C++, tu as une option pour avoir le pseudo code générer en asm (option -S avec la plupart des compilo)

et ensuite tu optimises ce code assembleur, puis tu recompiles le fichier ainsi modifié...

hébé, si tu commences comme ca pour "un petit jeu marrant avec une image qui de déplace sur l'écran et avec une cible la viser et tirer dedans", tu dois aller loin :8

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...