Bonjour
Je développe un serveur de jeux multijoueurs dans le cadre d'un stage. Ce serveur doit pouvoir gérer plusieurs jeux différents en même temps.
Le serveur gère très bien les joueurs réels pour l'instant et la prochaine étape est la gestion de joueurs virtuels (bots dotés d'intelligence artificielle (IA) rudimentaire).
Cette gestion des bots doit être la plus générique possible, pour qu'après mon départ, l'IA pour les nouveaux jeux puisse être implémentée le plus facilement possible.
Chaque bot est géré dans un thread et hérite de la classe Joueur humain.
L'IA sera bien évidemment différente pour chaque jeu.
Dans l'idéal, j'aimerais que le comportement du bot soit codé dans une DLL (une DLL par jeu) qui pourrait être importée à la volée depuis le thread Bot.
Est-il possible d'importer une méthode depuis une DLL et qu'elle soit considérée comme appartenant à la classe Bot (et donc puisse accéder aux membres de la classe Bot) ?
A quel moment DllImport est-il évalué ? Est-il possible de faire un appel de ce type :
[DllImport("bot"+gameID+".dll)]
sachant que la variable gameID est affectée dans le constructeur de la classe Bot ?
Merci d'avance pour vos réponses, j'espère avoir été clair.
PS : j'utilise SharpDevelop et non Visual Studio
Partager