*************************** FAIRE UNE AI POUR END-WORLD *************************** Pour Une meilleur gestion des Intelligences, chaque AI à pour nom de fichier AI_[nom de l'AI].cpp ex : « AI_CRASYKILLER.CPP » La fonction principale de l'Ai doit avoir comme nom AI_[nom de l'AI]_Main ex : « AI_CrasyKiller_Main » Chaque fonction de l'Ai doit avoir le nom de l'AI en entête AI_[nom de l'AI]_[fonction] ex : « AI_CrasyKiller_BestWearpon » Maintenant plongeon nous dans le vif du sujet. La fonction principale est appeler avec comme argument le numéro du perso à contrôler. Ex : void AI_CrasyKiller_Main(int persoS) ************************* DONNEES : ************************* Chaque pour accéder aux données des personnages : perso[persoS]. type; // type du perso perso[persoS]. posx; // position X du perso perso[persoS]. posy; // position Y du perso perso[persoS]. posz; // position Z du perso perso[persoS]. camx; // cammera X du perso perso[persoS]. camy; // cammera Y du perso perso[persoS]. camz; // cammera Z du perso perso[persoS]. live; // vie du perso perso[persoS]. wearpon; // arme du perso perso[persoS]. jump; // vitesse de saut du perso perso[persoS].persoCont; // perso que l'on porte perso[persoS]. porte; // si on porte un perso perso[persoS].AI_type; // type d'AI perso[persoS]. perso_attac; // perso que l'on attaque perso[persoS]. mode; // se que fait le perso ( attendre, attaquer, fuir ….. perso[persoS]. Bigtype; // ce qu'est le perso 0=objet 2=perso perso[persoS]. retinout; // si le perso touche un mur perso[persoS]. bless; //si le perso est blese et si oui par qui perso[persoS]. frag; //nombre de frag du perso perso[persoS]. cretoenergy; // cretoenergy du perso (ser a tirer) perso[persoS]. team; // equipe du perso ActivatTeam // jeux en équipe ************************* FONCTION ************************* le perso doit appeler une fonction a la fin de sa réflexion. Avec Up, si le perso avance, down si il recule, left si il ce déplace sur ce gauche,right si il ce déplace sur sa droite, turnleft si il tourne a gauche, turnright si il tourne a droite Turnup si il ce tourne ver le haut, turndown si il ce tourne vers le bas. perso[persoS].retinout = moveperso(persoS, up, down, left, right, turnleft, turnright, turnup, turndown); vous pouvez appeler jump(persoS); pour dire a votre perso de sauter. Pour changer d'arme vous devez changer perso[persoS].wearpon Pour tirer fire(persoS); ************************* TRICHE ************************* Vous pouvez bien sur change certaine donne qui vous avantagerai vie, cretoenairgy, de vous comme d'un autre perso Ceci est interdit !!!!!!!!!!!!!!!! ************************* CONCLUSION ************************* N'hésitez pas a m'envoyer vos AI, je vais bientôt faire un contour pour la meilleur AI achoum@netcourrier.com Vous avez bien sur des exemple. Si vous ne comprenez pas quelque chose, écrivez moi ************************* EXEMPLE ************************* void AI_Fantasin_Main(int persoS) { bool up =false; bool down=false; bool left=false; bool right=false; bool turnleft=false; bool turnright=false; bool turnup=false; bool turndown=false; bool ret; if(!perso[persoS].retinout) { up = false; down = true; turnleft = true; } else { up = true; } perso[persoS].retinout = moveperso(persoS, up, down, left, right, turnleft, turnright, turnup, turndown); }