第53節 - LibGDX: Blackjack Shuffle Method
這一節我會介紹如何把第52節 - Java Blackjack Shuffle Methods改為LibGDX的Blackjack Shuffle Method,則是把Java的Shuffle方法(文字版)改寫為LibGDX的Shuffle方法(2D動畫版)。
Convert Blackjack Shuffle Method from Java to LibGDX
以下是上一節的Java Shuffle程式碼和LibGDX Shuffle程式碼的分別:
注意,我會用Method 2 - Fisher–Yates Modern Shuffle Method作例子。
- 建立一個shuffle方法start();
- 建立一個ArrayList類別的物件(cards);
- 初始化cards陣列,大小為0 - 51,則Array index(索引)由cards[0]至cards[51]共52個 ,把cards陣列存入新增的start()方法內,最後複製回到收cards陣列上,便是一個打亂了的數列。
執行程式結果
用Texture Packer建立圖片
我在第18節 - LibGDX: Texture Packer介紹過用Texture Packer可把不同的圖片打包在一個圖片檔案內,再作其他程式處理。
- Texture Packer會產生兩個檔案(cardsatlas.png和cardsatlas.pack)。
程式部分
- DesktopLauncher是PC Desktop的Starter Class,我們在DesktopLauncher內設定顯示的大小為1024 X 768 px。
- 把以上圖片(png和 pack檔案)儲存到Android的assets文件夾內。
- 建立一個ArrayList類別的物件(cards);
- 建立一個shuffle方法start();
- 建立一個TextureAtlas類別物件(textureAtlas),並把cardsaltas.pack存入;
- 建立一個Array類別物件(cardsArrays),並把textureAtlas的每一張圖片存入;
- 初始化cards陣列,大小為0 - 51,則Array index(索引)由cards[0]至cards[51]共52個 ,把cards陣列存入新增的start()方法內,最後複製回到收cards陣列上,便是一個打亂了的數列。
- 最後把打亂了的cards陣列數值(0 - 51)存入cardsArrays陣列上,再把打亂了的數值(0 - 51)存入cardImages[],便可以顯示出Shuffle後的紙牌。