我决定在完成学业之前尝试制作游戏。在网上搜索,我决定在python中创建基本的游戏逻辑(为了简单和更快的开发时间),在c#中创建实际的I / O引擎(为了更好的性能。具体来说,我使用的是Mono和SFML库) 。 在掌握了两种语言和IDE后,我一直坚持整合两者,这引出了三个问题(最重要的是第二个问题):
一个。哪个模块应该封装另一个?如果python游戏逻辑调用c#I / O进行输入,然后将其更新为输出,还是应该反过来呢?
湾无论答案是什么,我该怎么办?我没有找到任何关于使用这两种语言移植或集成脚本或二进制文件的具体说明。
℃。模块之间的呼叫是否会对性能造成严重影响?如果他们愿意,我应该用一种语言开发所有内容吗?
谢谢!
答案 0 :(得分:2)
真诚地,我想说C#今天为您提供了很多来自Python的商品。引用Jon Skeet:
你知道我对动态语言的真正喜欢吗,比如Python,Ruby和 Groovy的?他们从你的代码中剔除了绒毛,只留下了它的本质 - 比特 真的有所作为。繁琐的形式让位于发电机等功能, lambda表达式和列表推导。 有趣的是,很少有能够提供动态语言的功能 - 他们轻盈的感觉与动态有关。有些人做了 课程 - 鸭子打字,以及Active Record中使用的一些魔法,例如 - 但静态类型的语言不一定是笨拙和重量级的。
你也可以进行动态打字。这是一个新项目,我会在这里使用C#。
答案 1 :(得分:2)
你考虑过IronPython吗?集成是微不足道的,因为它直接与.net一起工作,所以集成非常有效。