首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用c++ ai引擎和ASP.NET C# pages的纸牌游戏

使用c++ ai引擎和ASP.NET C# pages的纸牌游戏
EN

Stack Overflow用户
提问于 2012-10-13 02:13:30
回答 1查看 598关注 0票数 0

我有一个项目来建立一个使用C# ASP.NET的纸牌游戏,该项目是有一个纸牌游戏网站,用户玩和挑战彼此。

我的朋友可以使用C++构建AI引擎,但我如何通过c#与该引擎通信,特别是它应该是一个基于浏览器的在线游戏。

从页面,脚本和网站系统的一切都很容易在C#中实现,但每个游戏的卡片表(与引擎的通信)是我不能数字的东西。

使用哪种方法,有什么建议吗?

EN

回答 1

Stack Overflow用户

发布于 2012-10-13 02:40:22

如果您实际上想混合使用C#和C++,那么最简单的通信方式可能是创建一个包含C接口的C++动态链接库。然后,可以使用P/Invoke导入此DLL

代码语言:javascript
复制
[DllImport("ai.dll")]
static extern int doSomething(int numCardOnTable, int[] cardOnTable,
  int numCardsOnHand, int[] cardsOnHand, out int cardToPlay);

另一种方法是使用可以在C#中直接导入的托管C++:

代码语言:javascript
复制
namespace CPP_managed_code
{
  public ref class AI
  {
  public:
    int doSomething(int numCardOnTable, int[] cardOnTable, int numCardsOnHand,
      int[] cardsOnHand, out int cardToPlay)
    {
      // ...
      return 0;
    }
  };
}

和你的C#代码:

代码语言:javascript
复制
using CPP_managed_code;

// ...
  unsafe private void myCSharpMethod()
  {
    AI ai = new AI();
    ai.doSomething(/*...*/);
  }

但我不建议使用托管C++,因为它不是标准的C++。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12864818

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档