2012-08-15 48 views
-5

我正在製作一個C++ RPG。在C++ x中的Rpg遊戲可以低於0嗎?

這裏是我的代碼: http://pastebin.com/cyR5bzKR

它讓我去爲-1,然後我也去不了。 我也可以去4,然後它我不能去任何地方。

任何幫助?

我不希望這會過於複雜。

P.S.我使用Code :: Blocks我不認爲這是問題。

+4

歡迎:)如果您可以設法讓問題自成一體,那麼回答起來要容易得多。我的意思是獨立的意思是我們不應該遵循任何鏈接。這也將防止鏈接腐爛,這個網站的一個既定目標,使其長遠來說更有價值。 – 2012-08-15 09:09:32

回答

0

在決定玩家是否應該移動時,您需要考慮下一個操作。

像這樣的東西應該工作...

if(dir == "L" && x-1 >= xMin) { 
    printf("You Went Left"); 
    x--; 
} 
+0

謝謝!這工作像一個魅力。真的很高興我發現這個網站:D – user1564265 2012-08-15 09:54:48

-1
if(dir == "L" && x > xMin) 
    { 
     printf("You Went Left"); 
     x--; 
    } 
    else if(dir == "R" && x < xMax) 
    { 
     printf("You Went Right"); 
     x++; 
    } 
    else 
    { 
     printf("You can't go that way."); 
    } 
0

你有這樣的代碼:

if (x >= min) --x; 

你正在檢查一個值是否大於或等於另一個值,在遞減之前。即如果它相等,你仍然遞減,因此,它會比之後的值小。

的解決方案是僅減少,如果大於的最小值:

if (x > min) --x; 
0

你需要,當你向右移動,你是不是在最右邊檢查。同樣,當向左移動時,你需要檢查你是不是在最左邊的位置。

但是,你正在測試你還沒有超越最右邊/最左邊的位置(並且也檢查你在董事會,這似乎是不必要的)。

你想要的東西像

if (dir == "R" && x < xmax) ++x; 
else if (dir == "L" && x > xmin) --x; 

你做其他的檢查是多餘的。

相關問題