为图像指定int值,以便与较高值的胜利进行比较(纸牌游戏)



我是一名新手程序员,我正在努力开发一款基于更高胜率的纸牌游戏。问题是,我不知道如何为卡片分配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(。compare函数应该不是问题,但我不知道如何将这些特定的int值分配给特定的卡片。有没有一种方法可以用我现在的";垃圾";代码,或者有更好更简单的方法进行一些/完全重写吗?

谢谢。

我认为最好创建一个名为Card 的对象

public class Card{
private int cardValue;
public Card(int cardValue){
this.cardValue = cardValue;
}
public int GetCardValue(){
return cardValue;
}
}

我不确定你想在这张卡上存储什么其他信息,但可以很容易地将其添加到构造函数中,就像在Card方法上使用cardValue一样。这将允许您存储Card对象,当您想比较它们时,您将调用card1.GetCardValue(),它将返回cardValue变量中的值。这将允许你做比较,你正试图做。

您可以使用创建一个Card对象

Card card = new Card(5); // this would set the cards value to 5.

如果你还有任何问题,请随时发表评论,这对你没有帮助,因为我不完全确定你还需要存储关于这张卡的其他信息。

相关内容

  • 没有找到相关文章

最新更新