2012-03-16 97 views
3

我正在執行Android版本的棋盤遊戲Cloud 9。我從來沒有設計過遊戲,android應用程序(除了1-2個hello world應用程序),甚至沒有設計GUI程序(做了很多CLI),並且我對設計有一些疑問。Android棋盤遊戲實現設計

遊戲是基於回合的,所以這裏沒有實時考慮,我想知道什麼是最好的。遊戲包括非常簡單的2-3選項,供玩家進行每個決定,對於初學者,我希望將其設置爲「基於文本」,即讓TextView上的遊戲「登錄」,並隨時隨地人類玩家必須作出決定,他會給出2-3個按鈕,並提供他可以玩的選項。遊戲由幾個回合和關卡組成。

我開始執行遊戲「核心」,完全沒有GUI和AI玩家。然後我試圖找出如何讓人類玩家,圖形用戶界面等。我目前的設計理念是一個GameEventListener類,它將被告知遊戲中的不同事件(輪次開始,輪次結束,某個玩家做了某個動作,等),並有活動實施它,因此它可以繪製/寫屏幕會發生什麼,等等。

但是,我不確定這是否是最好的方法,以及如何Android部分應該(例如,我希望在某些事件發生後,玩家將有一個「繼續」按鈕,這樣他就可以在遊戲繼續之前看到完成了什麼 - 我該如何等待按鈕被按下?如果我從聽衆功能,遊戲將繼續)。有關如何進行的任何建議?

回答

0

由於您的遊戲是基於回合的,因此我認爲像GameEventListener這樣的設計是可以的。 基本上,這種GUI可以通過回覆事件來實現。您可以爲每個UI組件分配您的偵聽器。 例如,button.setOnClickListener(您的監聽器類);

對於不同的按鈕,您可以分別爲它們創建不同的偵聽器類,也可以在一個GameEventListener中收集它們。如果操作反應的事件並不複雜,我們甚至可以使用匿名類:

button.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v){ 
          //do your operations here(e.g. get input, update UI) 
        }}); 
+0

我對你們的措辭有點困惑。用戶界面組件是否通過遊戲回覆事件,反之亦然? – 2012-03-16 20:28:41

+0

如何實現「等待用戶按下按鈕繼續」之類的內容? – 2012-03-22 23:41:39

1

你可以在這裏看看我的四分體掉落遊戲GUI和我的一些做法 http://code.google.com/p/tetrads-drop-lite/ 這是一個俄羅斯方塊克隆,並可以通過互聯網與其他玩家一起玩。如果您需要某些GUI代碼的幫助,Ed Burnette的「Hello,Android」是一本好書。

更新

這是很相似,你設計的東西。

有這些包層次結構

-com.aunndroid.Engine (handling game logic) 
-com.aunndroid.View (managing 2D Views) 
-com.aunndroid.Tolk (communication between deivces) 
+0

你能否在你的回答中詳細說明你的方法? – 2012-03-16 20:23:35