Bonjour, je débute en C++ et, avec le livre le Guide Complet C++, j'ai créé un jeu de labyrinthe avec hiérarchie de classe, des ennemis et plusieurs map...
Je suis sous Visual C, voici le liens de projet:
https://rapidshare.com/files/2694081315/LabyC++.zip
Le programme ouvre un document texte, composé de 0 et de 1 (0=mur et 1=couloir). Avec quelque autre caractère (j=position de départ du joueur, w= arrivée, s=sortie (car il y a plusieurs map relié entre elle), v= EnnemiVert, r=EnnemiRouge, f=EnnemiFolow).
Ne répondre qu'a une seul de mes question m'aiderais vachement.
Tout le projet est sur le liens et vous pouvez déjà tester.
J'utilise la bibliothèque glut/GL
Pour le déplacement des ennemi vert/rouge/bleu:
AU début, un algorithme défini la direction haut/bas/gauche/droite. Puis si il prend a droite, il continue a droite jusqu'au moment ou il y a un mur, puis l'algorithme aléatoire reprend...
Première chose: si l'on ne met qu'un ennemi, pas de problème, mais si on en met plusieurs, si il y en a un qui est contre un mur, il déclenche l'algotithme aléatoire pour TOUT les ennemis... je voudrai que chaque ennemi se déplace individuellement...
Deuxième chose: je voudrai que, si l'ennemi avance vers le bas, s'il rencontre un mur, il vérifie d'abord s'il peu aller a droite ou a gauche, si il peux, il va au hasard a droite/gauche, sinon, il repart d'ou il vient.
Troisième chose: je voudrai que la manière de déplacement que je viens de dire ne marche qu'avec EnnemiVert et EnnemiFolow
En effet EnnemiRouge se duplique, et pour ne pas compliquer le joueur, cet ennemi ne devrai pas se déplacer beaucoup en parcourant les couloirs ,se déplacer tout le temps aléatoirement évite qu'ils se déplacent trop.
Quatrième chose: Pour EnnemiFolow maintenant, comme son nom mal orthographié l'indique , s'il est à la portée de vu du joueur (si il est sur la même ligne ou colonne, et qu'il n'y a aucun mur entre le joueur et EnnemiFolow, celui ci fonce vers le joueur en accélérant, et en émettant un son:
- je sais comment parcourir un fichier, donc le test "si joueur et ennemiFolow" est sur même ligne/colonne c'est bon, mais en plus, vérifier si il y a un mur entre les deux... ça je vois pas...
- comment accélérer l'ennemi ? (je pourrai, au lieu de varié PosC ou PosL de 2 au lieu de 1, mais alors je ne sais pas comment vérifier s'il y a un mur a plus d'une case de l'ennemie).
- comment émettre un son ? autre que "\a" ? j'ai un fichier .wav emettant un son approprié, comment l'ouvrir lorsque EnnemiFolow fonce sur le joueur ?
Voila... ça fait beaucoup de chose, je sais :/ mais je suis débutant et, malgré mes essais je n'arrive a rien...
Merci.
Partager