Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 使用c++;ai引擎和ASP.NET C#页面_C++_Asp.net_C# 4.0_Game Engine_Playing Cards - Fatal编程技术网

C++ 使用c++;ai引擎和ASP.NET C#页面

C++ 使用c++;ai引擎和ASP.NET C#页面,c++,asp.net,c#-4.0,game-engine,playing-cards,C++,Asp.net,C# 4.0,Game Engine,Playing Cards,我有一个使用C#ASP.NET构建纸牌游戏的项目,该项目将有一个纸牌游戏网站,用户可以在该网站上玩并互相挑战 我的朋友可以用C++来构建AI引擎,但是我如何通过C语言与引擎进行通信,特别是应该是一个基于浏览器的在线游戏。 在C#中,从页面、脚本到站点系统的所有内容都很容易实现,但是每个游戏的卡片表(与引擎的通信)是我无法想象的 使用哪种方法,有什么建议吗?< P>如果你真的想把C++与C++混合,那么最简单的交流方式可能是创建一个包含C接口的C++ DLL。然后,您可以使用以下方法导入此DLL:

我有一个使用C#ASP.NET构建纸牌游戏的项目,该项目将有一个纸牌游戏网站,用户可以在该网站上玩并互相挑战

我的朋友可以用C++来构建AI引擎,但是我如何通过C语言与引擎进行通信,特别是应该是一个基于浏览器的在线游戏。 在C#中,从页面、脚本到站点系统的所有内容都很容易实现,但是每个游戏的卡片表(与引擎的通信)是我无法想象的


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

< P>如果你真的想把C++与C++混合,那么最简单的交流方式可能是创建一个包含C接口的C++ DLL。然后,您可以使用以下方法导入此DLL:

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

还有你的C代码:

<>但是我不推荐使用托管C++,因为它不是标准C++。
[DllImport("ai.dll")]
static extern int doSomething(int numCardOnTable, int[] cardOnTable,
  int numCardsOnHand, int[] cardsOnHand, out int cardToPlay);
namespace CPP_managed_code
{
  public ref class AI
  {
  public:
    int doSomething(int numCardOnTable, int[] cardOnTable, int numCardsOnHand,
      int[] cardsOnHand, out int cardToPlay)
    {
      // ...
      return 0;
    }
  };
}
using CPP_managed_code;

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