当前位置: 首页 > 知识库问答 >
问题:

将int值分配给图像,以便与更高值的赢款进行比较(纸牌游戏)

杨骁
2023-03-14

我是一名新手程序员,我正在尝试开发一款基于更高赢家的纸牌游戏。问题是,我不知道如何将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(不确定这是否是一个好主意)。敌人的牌也是一样。在为战斗选择一张卡(确认按钮)后,它被传送到其他图像视图(fightcard1),并且从这四张随机卡中随机选择一张敌方卡并传送到图像视图(fightcard2)。

现在我需要比较这些卡(假设这些卡的值为19和24)。比较函数应该不是问题,但我不知道如何将这些特定的int值分配给特定的卡。有没有一种方法可以用我当前的“垃圾”代码做到这一点,或者有没有更好更简单的方法进行一些/完全重写?

谢谢。

共有1个答案

潘楚
2023-03-14

我认为你最好创建一个叫做卡片的对象

public class Card{
    private int cardValue;

    public Card(int cardValue){

        this.cardValue = cardValue;
    }

    public int GetCardValue(){
        return cardValue;
    }
}

我不确定您还想在这张卡上存储哪些其他信息,但可以通过将其添加到构造函数中来轻松添加这些信息,就像在card方法中使用cardwalue所做的那样。这将允许您存储对象,当您想要比较它们时,可以调用card1。GetCardValue()将返回cardValue变量中的值。这将允许您进行您正试图进行的比较。

你可以创建一个Card对象

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

如果您还有任何问题,请随时发表评论,我会帮助您解决,因为我不完全确定您还需要存储关于该卡的哪些其他信息。

 类似资料:
  • 我可以将指向结构的指针类型转换为带符号的值以返回不同类型的错误吗。C标准是否允许这种行为,或者是一种未定义的行为。 我怎样才能让这个条件起作用?

  • 为什么下面的返回为假?

  • 我正在尝试将哈希检查从服务器应用程序移动到PostgreSQL。换句话说,我需要调用一个对PGSQL的查询,它将来自查询的字符串与来自字段的字符串进行比较,并将相等比较的结果返回为bool,但如果没有关于clear SQL的过程,我不知道如何实现这一点。 upd:我有字段密码的表用户(当前为文本,将来为bytea)。我想写点什么 它必须返回true或false作为相等比较的结果。

  • 我有一个本地数据库,一个登录页面和一个servlet。我可以从数据库中获得我想要的值,例如用户名和密码。我还可以在html登录表单中获得用户输入。我对HTML使用Request.GetParameter。我想检查数据库中的用户名是否等于输入的用户名,以及数据库中的密码是否等于输入的密码,否则访问被拒绝。这是我的代码:

  • 对于家庭作业,我得到了下面的代码和空白的方法。我一直在努力,但我仍然不明白mutator setComparer或Comparator comparer在这个程序中是如何工作的。我在网上研究了如何使用比较器,但想法仍然不清楚。有人能给我一些指导吗?。 我 必须初始化比较器比较器吗?如果是这样,我该怎么做? 上面的私人int比较(扑克牌一,扑克牌二)是什么意思?(this.comparer=null

  • 问题内容: 在上面的第二个选择中,我也希望“ amar”记录,因为该名称与名字,名字或姓氏不匹配。 问题答案: 任何与收益的比较。为了克服这个问题,可以使用三个运算符: -确定左手表达式是否为, -如上,但相反 -以安全的方式比较两个操作数是否相等,即视为正常值。 对于您的代码,您可能要考虑使用第三个选项,并进行null安全比较: