【问题标题】:What is the best way to have a card deck, which consists of multiple combinations of cards, but never exceeds a certain number?拥有由多种卡片组合组成但从不超过一定数量的卡片组的最佳方式是什么?
【发布时间】:2021-01-21 14:57:36
【问题描述】:

正如我的问题中所述,我目前正在开发一款纸牌游戏。我有一门课,你可以在 20 张牌之间进行选择,而另一门课你可以看到你选择了哪些牌(“套牌”)。我希望那副牌不超过 10 张牌。 但是,我正在努力解决一些问题:

  1. 我如何发送这些活动之间选择了哪些卡片的信息?

  2. 阵列 - 或这里最好使用的任何东西 - 如何知道何时不能添加更多卡片?

  3. 如果我取消选择一张卡片,阵列如何知道它必须从牌组中删除该卡片?

  4. 如果卡片已经在套牌中,我该怎么做才能让它不能再次被选中?

可能并不难做到,但我不是专业人士...... 我希望你们都可以帮助我:)

(我在这两个类中实际上没有任何有用的代码,除了卡片名称,但您可以将它们称为 card1;card2;等)

【问题讨论】:

    标签: arrays kotlin android-activity


    【解决方案1】:
    1. 您可以将数据存储在一个object 中,这两个活动都可以访问
    2. 在添加之前,请检查列表的大小。如果它已经达到最大尺寸,请不要再添加。
    3. 您可以在此处使用具有remove 函数的 MutableList(例如 ArrayList)
    4. 在添加之前,请检查列表中是否有任何卡与您要添加的卡相同。如果有,请不要再添加。

    实际上并不一定要那么复杂,但很大程度上取决于您如何在代码中表示卡片和甲板。所以分享你所拥有的仍然是一个好主意。
    使用 ArrayList 而不是 Array 应该已经解决了您的一些问题,因为与固定大小的 Array 相比,List 具有动态大小。

    【讨论】:

    • 谢谢!但我对“对象”知之甚少……一个简短的例子说明这样一个对象的外观可能会有很大帮助(如何从两个活动中访问它?)
    • @gipi 与对象我提到了Kotlin object decleration。这是创建singleton 的快速方法。可以从任何地方访问其中的公共函数和属性,例如:MyObject.getData()。如果您熟悉该概念,它与 Java static functions 相当。
    猜你喜欢
    • 2020-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-04
    • 2021-02-26
    • 2021-07-21
    • 1970-01-01
    • 2020-07-24
    相关资源
    最近更新 更多