2014-12-01 19 views
0

我計劃在android-Java上開發一個簡單的紙牌遊戲,在我的應用程序中,我洗牌,所以我想知道什麼是最好的方式來存儲我的卡陣列或堆棧的甲板..?堆棧唯一的問題是我不知道如何洗牌。改裝一副牌 - 數組或堆疊?

+0

害羞不洗牌它作爲一個陣列,然後使用數組初始化堆棧? – PaulProgrammer 2014-12-01 22:40:10

+0

小心洗牌。獲得公平和安全的洗牌是非常棘手的(如果安全是必需的話)。例如,參見[Fisher-Yates shuffle](http://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle)。 – jww 2014-12-01 22:53:29

+0

我會用數組 – 26hmkk 2014-12-02 02:30:09

回答

4

我相信這將做的伎倆的堆棧:

Stack<Card> deck = new Stack<>(); 
// add Card types to deck... 
Collections.shuffle(deck); 
+0

謝謝,它幫助了我! – Avi 2014-12-03 18:03:09

1

在Java中的堆棧是一個列表,這樣你就可以調用Collections.shuffle,這需要在一個列表作爲參數

堆棧甲板=新的堆棧();當準備洗牌時

堆棧延伸的矢量,其延伸AbstractList中並實現列表