SPACE INVADERS (MODE CONSOLE)

almaxbob Messages postés 3 Date d'inscription samedi 17 février 2007 Statut Membre Dernière intervention 21 février 2007 - 19 févr. 2007 à 16:27
transfear Messages postés 58 Date d'inscription lundi 13 octobre 2003 Statut Membre Dernière intervention 29 septembre 2006 - 21 févr. 2007 à 19:31
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/37472-space-invaders-mode-console

transfear Messages postés 58 Date d'inscription lundi 13 octobre 2003 Statut Membre Dernière intervention 29 septembre 2006
21 févr. 2007 à 19:31
Heum... Honnêtement, je ne verrais pas comment ajouter du son (style mp3, wav ou midi) à ce programme sans en modifier une bonne partie.

Le seul "son" qu'il me semble possible de produire est le "beep" du haut-parleur interne de l'ordinateur, qu'on peut activer en faisant un printf("\a");, il me semble...

Désolé!
almaxbob Messages postés 3 Date d'inscription samedi 17 février 2007 Statut Membre Dernière intervention 21 février 2007
21 févr. 2007 à 17:46
Bonjour.
Y-a-t-il un moyen d'ajouter du son à ce type de programme tout en le faisant tourner sous windows XP et sans recourir à un émulateur dos ?
Merci.
transfear Messages postés 58 Date d'inscription lundi 13 octobre 2003 Statut Membre Dernière intervention 29 septembre 2006
19 févr. 2007 à 17:14
Bonjour Almaxbob,

Tout d'abord, merci de ton commentaire et de ton intérêt pour ce projet. Par ailleurs, le warning que tu as copié/collé dans ton message, soit celui de «warning LNK4099: PDB 'vc70.pdb' was not found with 'fonctionsConsole.lib' or at 'c:\AlProg\AL_XP_VC++8\SpInvadersConsole\SpaceInvader\Debug\vc70.pdb'; linking object as if no debug infoEmbedding manifest», est affiché car nous avons utilisé un .lib, c'est-à-dire une librairie statique précompilée (un peu comme un .dll), car, le projet ayant été développé dans un cadre scolaire, l'utilisation d'une librairie statique était un prérequis. Toutefois, à des fins de commodité, la source de ce .lib a été incluse au projet.

Pour ma part, j'ai utilisé VS .NET 2003 comme environnement de développement et aucun warning ne s'est affiché. En passant, tu peux cacher certains warning en jouant dans les options de Visual Studio. Si tu as d'autres warning, copie/colle-les dans un message et je verrai ce que je peux faire.

Pour ce qui est du breakpoint, il était nécessaire d'en mettre un pour faire afficher le code exécuté en temps réel, encore une contrainte d'ordre scolaire. Tu n'as qu'à le désactiver, c'est à ta discrétion.

En outre, le code a été réalisé un peu aléatoirement, je dois te l'avouer. C'est que le cours dans le cadre duquel nous avons conçu ce jeu ne faisait qu'une introduction au C++, tout en couvrant les bases du C. C'est pourquoi on retrouve certaines notions objet, ainsi que d'autres notions plutôt orientées sur le procédural.

Si tu veux des détails sur le «Comment fonctionne le projet ?», je t'invite fortement à consulter la documentation incluse dans le dossier compressé (DossierDocumentation.pdf). De plus, tous nos algorithmes sont répertoriés dans le dossier «Algo» dans différents fichiers Word.

J'espère t'avoir été utile et n'hésite pas à poser d'autres questions! Merci beaucoup!
almaxbob Messages postés 3 Date d'inscription samedi 17 février 2007 Statut Membre Dernière intervention 21 février 2007
19 févr. 2007 à 16:27
Je viens de compiler votre code avec Visual C++ 2005 express edition. J'ai dû rajouter une ligne pour pouvoir linker le fichier "LIBCD.lib". Mais il me reste encore les warnings:

Linking...LINK : warning LNK4098: defaultlib 'LIBCD' conflicts with use of other libs; use /NODEFAULTLIB:libraryfonctionsConsole.lib(fonctionsConsole.obj) : warning LNK4099: PDB 'vc70.pdb' was not found with 'fonctionsConsole.lib' or at 'c:\AlProg\AL_XP_VC++8\SpInvadersConsole\SpaceInvader\Debug\vc70.pdb'; linking object as if no debug infoEmbedding manifest...

J'ai aussi dû enlever un breakpoint juste à l'entrée de main.
Le programme tourne bien mais pourriez-vous m'expliquer les raisons des warnings et du breakpoint? S'il vous reste 5 minutes pourriez-vous aussi m'expliquer comment lire ce code dans les grandes lignes? J'ai de grosses lacunes en tout.
Merci.