我是一名新手程式員,我正在嘗試開發基于更高勝利的紙牌游戲。問題是,我不知道如何將 int 值分配給要比較的卡片。假設有 46 張牌,每張牌都有不同的值,例如:
int peter = 19;
int jack = 26;
int martin = 22;
//...and so on
有兩個玩家,每個玩家有四張隨機生成的卡片(我是這樣做的,所以我可以在每個玩家上施放翻轉影片,有點笨拙但有效)
//Assign my cards
TypedArray my_cards = res.obtainTypedArray(R.array.mycards);
final Random random5 = new Random();
final Random random6 = new Random();
final Random random7 = new Random();
final Random random8 = new Random();
//Generate random indexes for my cards
int RandomCard5 = random5.nextInt(my_cards.length());
int RandomCard6 = random6.nextInt(my_cards.length());
int RandomCard7 = random7.nextInt(my_cards.length());
int RandomCard8 = random8.nextInt(my_cards.length());
//Generate my cards from RandomCard
int drawableCard5 = my_cards.getResourceId(RandomCard5,-1);
int drawableCard6 = my_cards.getResourceId(RandomCard6,-1);
int drawableCard7 = my_cards.getResourceId(RandomCard7,-1);
int drawableCard8 = my_cards.getResourceId(RandomCard8,-1);
//Deal my cards
card1.setImageResource(drawableCard5);
card2.setImageResource(drawableCard6);
card3.setImageResource(drawableCard7);
card4.setImageResource(drawableCard8);
如您所見,我正在使用 typedArray (不確定這是否是一個好主意)。對于敵方卡也是一樣的。選擇一張卡片進行戰斗(確認按鈕)后,它被轉移到其他 ImageView(fightcard1),然后從這四張隨機卡片中隨機選擇一張敵方卡片并轉移到 ImageView(fightcard2)。
現在我需要比較這些卡片(假設這些卡片的值為 19 和 24)。比較函式應該不是問題,但我不知道如何將這些特定的 int 值分配給特定的卡片。有沒有辦法用我當前的“垃圾”代碼來做到這一點,或者是否有更好、更簡單的方法來進行一些/完整的重寫?
謝謝。
uj5u.com熱心網友回復:
我認為最好為您創建一個名為 Card 的物件
public class Card{
private int cardValue;
public Card(int cardValue){
this.cardValue = cardValue;
}
public int GetCardValue(){
return cardValue;
}
}
我不確定您想在這張卡上存盤哪些其他資訊,但可以通過將其添加到建構式中來輕松添加,就像cardValue在Card方法中所做的那樣。這將允許您存盤Card物件,并且當您想要比較它們時,您將呼叫card1.GetCardValue()which 將回傳cardValue變數中的值。這將允許您進行您正在嘗試進行的比較。
您將創建一個 Card 物件
Card card = new Card(5); // this would set the cards value to 5.
如果您有任何其他問題,請隨時發表評論,因為我不完全確定您需要存盤有關該卡的哪些其他資訊。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/388657.html
下一篇:如何在java中將此時間格式轉換為紀元?“2021年12月28日星期二16:55:00GMT 05:30”到紀元
