我正在努力用 C++ 创建一个小的 Blackjack 控制台游戏。我已经写了几乎所有的代码(你可能会觉得它很乱,但我好像没有这方面的经验)。它有效,但不完全。如您所知(或不知道),当您的牌值等于 21 时,您就赢得了比赛,如果您的牌值更多,您就输了。在我的项目中,游戏永远不会停止,当您拿到 21、当庄家拿到 21 或当您放弃 21 时,游戏仍在继续。也许我忘了添加一些东西,如果你能指出来我会很高兴! :) CODE
最佳答案
在您的 main()
函数中,您正在定义一个新的本地状态变量:
GAMESTATE GSState = GAME;
它隐藏了您的其他类正在更新以指示游戏结束的全局类。
你应该只给它赋值:
GSState = GAME;
使用 gcc,如果您希望编译器警告您这种潜在的错误(但可能会有很多误报),您可以使用标志 -Wshadow
进行编译。
关于c++ - 当我告诉它停止时,为什么程序会继续运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10033093/