gpt4 book ai didi

c# - 向 .NET 应用程序添加脚本功能

转载 作者:IT王子 更新时间:2023-10-29 03:41:55 24 4
gpt4 key购买 nike

我有一个用 C# 编写的小游戏。它使用数据库作为后端。它是一个trading card game ,我想将卡片的功能实现为一个脚本。

我的意思是我本质上有一个接口(interface),ICard,一个卡片类实现了它(public class Card056: ICard)并且它包含一个调用的函数通过游戏。

现在,为了使它可维护/可修改,我希望将每张卡片的类作为数据库中的源代码,并在首次使用时对其进行基本编译。因此,当我必须添加/更改卡片时,我只需将其添加到数据库并告诉我的应用程序进行刷新,而无需任何程序集部署(特别是因为我们将讨论每张卡片 1 个程序集,这意味着数百个程序集) .

这可能吗?从源文件中注册一个类,然后实例化它等等。

ICard Cards[current] = new MyGame.CardLibrary.Card056();
Cards[current].OnEnterPlay(ref currentGameState);

语言是 C#,但如果可以用任何 .NET 语言编写脚本,则额外奖励。

最佳答案

Oleg Shilo's C# Script solution (at The Code Project ) 确实很好地介绍了如何在您的应用程序中提供脚本功能。

另一种方法是考虑一种专门为脚本编写的语言,例如 IronRuby , IronPython , 或 Lua .

IronPython 和 IronRuby 现已上市。

有关嵌入 IronPython 的指南,请阅读 How to embed IronPython script support in your existing app in 10 easy steps .

Lua 是游戏中常用的脚本语言。有一个用于 .NET 的 Lua 编译器,可从 CodePlex 获得 -- http://www.codeplex.com/Nua

如果您想了解如何在 .NET 中构建编译器,那么该代码库是一本很好的读物。

完全不同的角度是尝试PowerShell .有许多将 PowerShell 嵌入应用程序的示例——这里有一个关于该主题的完整项目: Powershell Tunnel

关于c# - 向 .NET 应用程序添加脚本功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/260/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com