2012-01-25 17 views
2

我正在編寫一個簡單的C++遊戲,其中涉及用戶選擇一個路徑,以便在旅途中取得進展。例如:組織一個C++遊戲的最佳方式是什麼?這個遊戲需要用戶在路徑之間進行選擇以便在旅程中進行。

你已經到了路邊的一個叉子。你會:

  1. 向右走
  2. 往左

然後,用戶可以輸入順序號來選擇該走的路。這個程序可能變得非常複雜,變成意大利麪代碼,我很好奇組織代碼的最佳方法是什麼。

+0

使用函數? 「意大利麪代碼」是指複雜的,複雜的和*不可讀的代碼。它不涉及任何帶分支的代碼。 –

+0

結構化編程?要有耐心,使用源代碼。認爲。 –

+1

我不明白爲什麼這個問題被拒絕。沒有經驗的OP不會使問題無效 – fdh

回答

1

我假設你正在製作一個控制檯應用程序。

由於程序的簡單性,將程序/結構而不是面向對象的程序可能會更好。

我建議把你的故事分解成單獨的主要部分,然後將每個部分分配給一個函數。完成後,函數會調用處理故事中下一部分的函數,直到結束。每個函數都會將一個值傳遞給下一個函數(即字符串),表示用戶決定某個點。

這允許更好的代碼組織,最小的複雜性並做它需要做的事情。

例如:

3三隻小豬將被分解成的功能串皮加(),串PIGB,串PIGC()和空隙分辨率()

皮加()將通過在「死亡「pigB()完成後,pigB()會通過」死亡「傳遞給pigC()。 pigC()然而會通過「生命」到分辨率()(因爲頭兩隻豬死亡,但第三次死亡),這將打印「結束」

我意識到這是一個故事,而不是一個遊戲,遊戲可以類似地分解成分配給功能的較小部分。

0

大約兩個星期前,我想和ç編碼一個非常類似的遊戲,經過一番的if-else-if-else語句可怕的麪條我結束了在把路徑和選擇每一個想在一個不同的陣列,然後針對每個interation運行for循環,並檢查數組,正確答案與否,向左或向右,然後提取另一個數組上的點以允許下一個「移動」。

所以你有choices arraypaths arrayfor循環以最少的代碼實現所有的interations。我希望我自己清楚,對任何英語錯誤感到抱歉。我不知道如何在C++中改進,但我認爲這是一個很好的起點。

相關問題