c# - 运行时 Windows 窗体 : Is it possible to insert . cs 文件?

标签 c# .net winforms artificial-intelligence

我们组织了人工智能竞赛,人们可以在竞赛中为我们使用 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/

相关文章:

c# - 使用位掩码查找 C# 中使用的整数排列?

c# - 在 foreach 循环中创建控件?

c# - 特定 WInForm 的缩放错误

C++ Windows 窗体 - 密码强度

C#,将一个 bool 复制到另一个(通过 ref,而不是 val)

c# - 返回结果后,控制流如何保留在异步方法范围内?这类似于变量的闭包吗?

c# - RoutedUICommand 的文本参数的目的是什么

c# - 如何以编程方式在 DataTable 上使用 Telerik RadGrid FilterExpression

c# - 如何使用自定义标识符启动进程/实例

c# - 从 .NET 操作 Hyper-V