我有一个用 C# 编写的小游戏。它使用数据库作为后端。它是
A集换式卡牌游戏,我想以脚本的形式实现卡片的功能。
我的意思是我本质上有一个界面,ICard
,卡片类实现了(public class Card056: ICard
)并且其中包含一个由游戏调用的函数。
现在,为了使该东西可维护/可修改,我希望将每张卡的类作为数据库中的源代码,并在第一次使用时对其进行编译。因此,当我必须添加/更改卡时,我只需将其添加到数据库并告诉我的应用程序刷新,而不需要任何程序集部署(特别是因为我们将讨论每张卡 1 个程序集,这意味着数百个程序集) 。
那可能吗?从源文件注册一个类,然后实例化它,等等。
ICard Cards[current] = new MyGame.CardLibrary.Card056();
Cards[current].OnEnterPlay(ref currentGameState);
该语言是 C#,但如果可以用任何 .NET 语言编写脚本,那就额外奖励了。
Oleg Shilo 的 C# 脚本解决方案(位于 The Code Project)确实是在应用程序中提供脚本功能的一个很好的介绍。
另一种方法是考虑专门为脚本构建的语言,例如IronRuby, 铁蟒, or Lua.
IronPython 和 IronRuby 现已上市。
有关嵌入 IronPython 的指南,请阅读如何通过 10 个简单步骤将 IronPython 脚本支持嵌入到现有应用程序中.
Lua是游戏中常用的脚本语言。 CodePlex 有一个用于 .NET 的 Lua 编译器——http://www.codeplex.com/Nua
如果您想了解如何在 .NET 中构建编译器,那么该代码库是一本很好的读物。
完全不同的角度就是尝试电源外壳。有许多将 PowerShell 嵌入到应用程序中的示例 - 以下是关于该主题的完整项目:Powershell隧道
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)