2011-10-17 81 views
1

我决定在完成学习之前尝试创建一个游戏。在网上搜索时,我决定在python中创建基本的游戏逻辑(为了简化和更快的开发时间)以及c#中的实际I/O引擎(为了获得更好的性能,特别是我将Mono与SFML库结合使用) 。 在对两种语言和IDE进行处理之后,我一直坚持把两者结合起来,这导致我有三个问题(最重要的是第二个问题):集成python和c#

a。哪个模块应该封装其他模块? python游戏逻辑应该调用c#I/O进行输入,然后将其更新为输出,或者它应该是另一种方式吗?

b。无论答案是什么,我该怎么做?我还没有找到关于移植或集成任何一种语言的脚本或二进制文件的具体说明。

c。模块之间的调用是否会对性能造成严重伤害?如果他们愿意,我应该用一种语言来开发一切吗?

谢谢!

回答

1

真诚的,我会说C#今天给了你很多来自Python的商品。引用Jon Skeet:

你知道我对动态语言如Python,Ruby和 Groovy的真正喜欢吗?他们从你的代码中剔除绒毛,只留下它的本质 - 真的有些事情。单调乏味的形式让位于诸如生成器, lambda表达式和列表解析等功能。 有趣的是,很少有那些倾向于给予动态轻量级感觉的功能与动态性有关。一些做,如 课程鸭子打字,和一些在Active Record中使用的魔术,例如 ,但静态类型的语言不必笨拙和重量级。

而且你也可以进行动态输入。这是一个新项目,我会在这里使用C#。

2

你有没有考虑过IronPython?整合是微不足道的,因为它直接与.net整合工作得很好。

+1

谷歌搜索它,它似乎是我需要的,但只是为了肯定 - 一旦我启用脚本(使用ScriptEngine命令?)IronPython脚本将具有一致的变量?将检查逻辑中的每个实体是否性能很强? – nihohit