我们组织了人工智能竞赛,人们可以在竞赛中为我们使用 C# Windows 窗体编写的游戏引擎编写人工智能。参赛者为我们的游戏编写 ai 代码,我们手动将这些代码插入到我们的游戏中,但这需要付出努力,我认为有一种方法可以让人们在运行时插入他们的 .cs 文件。我们如何设计这种架构请有人帮助我们。提前致谢,对不起我的英语。
注意:.cs 文件包含人工智能逻辑。
最佳答案
也许使用策略模式。让参赛者通过界面实现入口点。然后,您的游戏 shell 可以扫描给定文件夹中的所有程序集文件,并找到实现入口点接口(interface)的所有类型。
更新:
为了帮助您开始,我在这里做了类似的事情(参见方法 ScanAssembliesForHostTypes
):http://shuttle.codeplex.com/SourceControl/changeset/view/ba9750ca1f7a#Shuttle.Core%2fsource%2fShuttle.Core.Host%2fHostFactory.cs
关于c# - 运行时 Windows 窗体 : Is it possible to insert . cs 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10226081/