Карточная игра с использованием движка c ++ ai и страниц ASP.NET C #

У меня есть проект по созданию карточной игры с использованием C # ASP.NET, проект по созданию сайта по карточным играм, где пользователи играют и бросают вызов друг другу.

Мой друг может создать движок ИИ с использованием C ++, но как я могу общаться с этим движком через c #, особенно это должна быть браузерная онлайн-игра.

Все, начиная от страниц, сценариев и системы сайта, легко реализовать в C #, но я не могу понять, что такое карточный стол для каждой игры (связь с движком).

Какой подход использовать, есть ли предложения?

0

Решение

Если вы действительно хотите смешать C # с C ++, то, вероятно, самый простой способ общения — это создать C ++ DLL, которая включает в себя интерфейс C. Затем вы можете импортировать эту DLL с помощью P / Invoke:

[DllImport("ai.dll")]
static extern int doSomething(int numCardOnTable, int[] cardOnTable,
int numCardsOnHand, int[] cardsOnHand, out int cardToPlay);

Другой способ — использовать Managed C ++, который можно напрямую импортировать в C #:

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 #:

using CPP_managed_code;

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

Но я бы не рекомендовал использовать Managed C ++, потому что это не стандартный C ++.

1

Другие решения

Других решений пока нет …