Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
802 connectés 

  FORUM HardWare.fr
  Programmation

  [Jeu] Comment coder des ennemis en C++?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Jeu] Comment coder des ennemis en C++?

n°43784
Alload
Posté le 29-06-2001 à 23:30:38  profilanswer
 

Maintenant que je sais comment marche l'aspect graphique d'un jeu 2D, je me demandais comment les developpeurs codaient les actions des ennemis et leurs chemins prédéfinis. Si quelqu'un pouvait un peu m'expliquer.
 
PS: je parle pas de l'intelligence artificiel, juste de faire bouger des ennemis dans un chemin prédéfini.

mood
Publicité
Posté le 29-06-2001 à 23:30:38  profilanswer
 

n°43785
verdoux
And I'm still waiting
Posté le 29-06-2001 à 23:36:04  profilanswer
 

Comme dans les autres langages de prog :D

n°43786
chadenat
Posté le 29-06-2001 à 23:39:47  profilanswer
 

A la brutale. En général, ils définissent une stucture pour les sprites qui contient les différentes frames composant le sprite et ses coordonnées. Tu fais varier les coordonnées dans la boucle principale de ton jeu.


---------------
http://www.chadenat.forez.com
n°43891
janoscoder
Posté le 01-07-2001 à 03:14:25  profilanswer
 

Il est cool de séparer l'affichage du reste, et définir pour un ennemi des actions à entreprendre, et des modes (en shoot'em up, c'est pas trop dur, dans pleins de jeux tout est prédéfini) d'action.
 
un ennemi veut attaquer et se défendre.
 
Soit un vaisseau ennemi.
Il a deux modes: agressif et défensif
 
le choix du mode peut être déterminé en fonctions de ses points de vie, et de l'armement du joueur.
 
S'il est en mode agressif, il se place à la distance optimale pour son arme et l'utilise, s'il est en défensif, il se cache dans le décors et tire quand il n'y a pas de tirs prêts.
 
dans tous les cas, s'il se prend des impacts, il se déplace.
 
Dans l'absolu, un langage de script c'est cool, mais ça demande du boulot. J'ai écrit une espèce de BASIC pour ce genre de choses, mais ça m'a pris une bonne vingtaine d'heures.
 
Donc je pense que le mieux à faire, est de définir une fonction d'affichage du vaisseau qui détemine la trame de son animation.
 
ex:
//on charge ces vectors d'un fichier
vector<Image *> shipframes;
 
 
vector<int> fireframes; //={10,11,12,13,12,11,10} par exemple
vector<int> normalship; //={0};
vector<int> moveup;     //={1,2}
vector<int>  
 
 
 
tu crées un fichier
EnnemiAffichage.alo
*****************
imagebasename=ennemipetit
imagenumber=20
imageextension=.bmp
 
MODE normal
COMMENCEMENT
PENDANT
1
2
ARRET
 
MODE tir
COMMENCEMENT //éxécuté une fois en debut de mode
10
11
12
PENDANT      //exécuté en boucle
13
14
ARRET        //exécuté à la fin du mode
12
11
10
 
MODE moveup
COMMENCEMENT
3
4
5
PENDANT
6
ARRET
5
4
3
 
MODE mort
COMMENTCEMENT
15 16 17 18 19
PENDANT
ARRET
*****************
 
L'écriture d'un fichier d'affichage t'économisera beaucoup de misères. C'est plus simple à coder qu'un interpréteur de script et pour un shoot'em up c'est plus simple.
 
ensuite dans ton code, t'as une string avec le nom du mode et ton code va chercher dans la structure de donnée construite à partir de ton fichier affichage parsé quels frames afficher.
 
Bien sûr c'est un exemple, mais la même chose un peu plus compliquée peut faire des miracles et des animations de folie.
 
maile moi si tu veux en parler.


---------------
-----------------------
n°43893
janoscoder
Posté le 01-07-2001 à 04:44:40  profilanswer
 

j'en avais marre de taper dans le post, et donc je t'ai mailé du code que j'ai pondu car je me suis levé trop tard et j'arrivais pas à dormir. Maintenant je suis fatigué et je vais pioncer.


---------------
-----------------------

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [Jeu] Comment coder des ennemis en C++?

 

Sujets relatifs
[C++] Comment 'coder' une chaîne de caractèresun Éditeur "tout confort" pour coder sous Linux, ça existe ???
CODE SOURCE "JEU PENDU" URGENTJEU FAIT EN DELPHI, ou en trouver :D.
Jeu d'echec 
Plus de sujets relatifs à : [Jeu] Comment coder des ennemis en C++?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR