我们组织人工智能竞赛,人们可以为我们用C#Windows Forms编写的游戏引擎编写ai。竞争对手为我们的游戏编写ai代码,我们手动将这些代码插入我们的游戏中,但这需要付出努力,我认为有一种方法可以让人们在运行时插入他们的.cs文件。我们如何设计这种架构请有人帮助我们。提前致谢,对不起我的英语。
注意:.cs文件包括人工智能逻辑。
答案 0 :(得分:5)
也许使用策略模式。让参赛者通过界面实现入口点。然后,您的Game shell可以扫描给定文件夹中的所有程序集文件,并查找实现入口点接口的所有类型。
<强>更新强>
为了帮助您入门,我在此处做了类似的事情(请参阅方法ScanAssembliesForHostTypes
):http://shuttle.codeplex.com/SourceControl/changeset/view/ba9750ca1f7a#Shuttle.Core%2fsource%2fShuttle.Core.Host%2fHostFactory.cs