Salut,
Désolé, j'étais un peu pris la semaine dernière,
alors, MoteurIA est une fonction qui contient toutes les fonctions d'actions d'une IA. J'utilise le terme MoteurIA, mais c'est un exemple, cela pourrait s'appeler IABehavior, IAEngine, NPC_Behavior... Ici, MoteurIA représente la partie du code qui demander une action.
Après avoir perçue une information de l'environnement (perception), l'avoir traité et pris une décision (réflexion), l'I.A va déclencher une réaction (action).
Dans l'exemple que je donne, MoteurIA s'assure que l'action que l'I.A doit effectuer, est belle et bien effectuée. Il vérifie en boucle que sa position correspond à celle qu'il doit atteindre, et tant que ce n'est pas le cas, il lui demande d'atteindre la position.
Des informations stockées mais non traitées ne servent à rien, elles sont donc traitées selon les besoins : l'action demande une nouvelle position, la réflexion a besoin de savoir laquelle pour éventuellement demander une nouvelle décision.
Hdr. n'est pas une fonction, c'est une structure.
Une structure est un type de variable dans laquelle on peut stocker plusieurs variables.
On peut remplacer le mot "structure" par le mot variable, à condition de savoir que cette variable est une structure :
la variable de type Hdr contient deux variables, une variable action de type entier et une variable IdMonstre de type entier également.
Quand j'instancie une variable de type Hdr :
Hdr handle
je peux accéder à ces deux variables action et idmonstre comme il suit :
handle.action = 0;
handle.idmonstre = 0;
Les structures sont très courantes en programmation, ce n'est pas une spécificité des JV.
http://fr.wikibooks.org/wiki/Programmation_C%2B%2B_(d%C3%A9butant)/Les_structures