2012-04-05 79 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

相關問題