- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个使用 C# ASP.NET 构建纸牌游戏的项目,该项目旨在拥有一个纸牌游戏网站,供用户玩游戏并互相挑战。
我的 friend 可以使用 C++ 构建 AI 引擎,但我如何通过 C# 与该引擎通信,特别是它应该是一个基于浏览器的在线游戏。
页面、脚本和站点系统的所有内容都可以在 C# 中轻松实现,但是每个游戏的卡表(与引擎的通信)是我无法理解的。
使用哪种方法,有什么建议吗?
最佳答案
如果您真的想混合使用 C# 和 C++,那么最简单的通信方式可能是创建一个包含 C 接口(interface)的 C++ DLL。然后您可以使用 P/Invoke 导入此 DLL。 :
[DllImport("ai.dll")]
static extern int doSomething(int numCardOnTable, int[] cardOnTable,
int numCardsOnHand, int[] cardsOnHand, out int cardToPlay);
另一种方法是使用托管 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(/*...*/);
}
但我不建议使用托管 C++,因为它不是标准 C++。
关于c++ - 使用 C++ AI 引擎和 ASP.NET C# 页面的纸牌游戏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12864818/
我已经创建了我的牌组,可以处理每张牌和一套花色,直到没有牌为止。对于我的项目,我需要将它分成 3 个类,其中包括一个驱动程序类。我首先创建了一个包含所有内容的类,所以我知道如何让它全部工作。 publ
嘿伙计们,我正在学习我的第一个 Java 类(class),但在尝试编译该程序时遇到了错误代码。我附加了这两门类(class),希望他能帮助我找到错误。这是我收到的错误: Error: constru
这个问题在这里已经有了答案: How to randomly shuffle a deck of cards among players? (3 个答案) 关闭 4 年前。 我一直在尝试学习 Pyt
我是一名优秀的程序员,十分优秀!