2012-04-05 45 views
0

我努力在C++中创建一个小二十一点控制台游戏。我写了几乎所有的代码(你可能会发现它很杂乱,但我没有这方面的经验)。它有效,但不完全。如你所知(或不),当你的牌值等于21时,你赢得比赛,如果你有更多 - 你输了。在我的项目中,游戏永远不会停止,当你获得21分,21分或21分时,游戏仍然继续。也许我忘了添加一些东西,如果你能指出来,我会很高兴! :) CODE当我告诉它停止时,程序为什么继续运行?

+2

这正是调试器非常适用的那种错误。浏览你的程序,看看你自己会发生什么。 – suszterpatt 2012-04-05 17:24:17

+1

以这种方式学习使用调试器将在未来很好地为您服务。 – Almo 2012-04-05 17:25:07

+0

无法获取您的代码。如果帖子太大,可能太大了。 – Beta 2012-04-05 17:27:19

回答

3

在你main()功能,要定义一个新的本地状态变量:

GAMESTATE GSState = GAME; 

是阴影全局的,你的其他类更新指示游戏结束。

你应该只赋予它一个值:

GSState = GAME; 

与海湾合作委员会,你可以用标志-Wshadow编译,如果你希望编译器警告你这种潜在错误的(但有可能是一个很多误报)。

+0

谢谢先生,我欠你一个! :) – 2012-04-05 17:38:58

相关问题