2012-06-13 49 views
4

我一直在開發基於回合的遊戲,它有單人遊戲和(本地)多人遊戲選項。除了CPU控制單人遊戲中的其中一個回合之外,兩者之間的遊戲玩法大致相似。我應該將單人和多人遊戲模式分成不同的Android活動嗎?

爲這兩個選項製作單獨的Android活動還是通過布爾等處理兩個活動是明智的做法?

+0

就我個人而言,我可能會把它們作爲單獨的活動。不同的事情很可能會導致他們破裂。因此,當一件事情破裂時,將它全部放在一個活動中可能會使修復更難。 – FoamyGuy

+0

感謝您的回答。我只是擔心大規模代碼重複(大多數情況下,這兩個活動的代碼都相同)是不好的做法。這是一個問題嗎?特別是因爲移動平臺依靠小內存等 – Da49

+0

這取決於確切需要改變多少。更好的解決方案可能是將活動中的遊戲邏輯移動到它自己的GameHelper對象或其他東西中。然後讓這兩個活動都使用這個對象。內存不會是一個問題。前幾個發佈的Android設備有非常小的應用程序「內部存儲」塊。更現代的設備都傾向於過多,用戶可以選擇將應用程序移動到SD卡上,如果他們想要的話。再加上單個java文件的大小應該幾乎可以忽略不計。您的應用程序圖標可能佔用了大部分Java文件。 – FoamyGuy

回答

0

你應該做的是有一個庫或助手類包含兩個活動的基礎,然後有兩個不同的活動(一個用於單人和一個用於多人)這樣你就不需要複製代碼和它只有那裏一次。此外,如果出現問題,則更容易解決。

對於調試,每個活動都應該有不同的日誌標記,並將所有需要它的事情都試一試,並將錯誤記錄到日誌標記中。

根據oracle,你應該保持你的java文件在2000行以下的代碼,所以如果它結束了,這肯定會分裂它們。

+0

我不一定同意。我認爲這是一個偏好。我不認爲真的有這個問題的答案,只是一個偏好。我爲iPhone/iPad開發了一款使用單一OpenGL視圖的遊戲,並且自己實現了所有的模式代碼,並且它工作得很好。我會在Android上以相同的方式構建它。 – trumpetlicks

+0

是的,但最好有另一個類,所有的函數都是這樣的,這樣你就不會複製它,它會使事情變得更快,也更容易調試 – FabianCook