Processing 纸牌游戏正在处理中

Processing 纸牌游戏正在处理中,processing,Processing,我正在尝试制作一款名为sets()的纸牌游戏。我需要创建27张卡(阵列),然后每次检查,从中取出12张卡并获得配对。有人知道搜索配对的最佳方法吗。要检查哪些卡: 它们都有相同的数字或有三个不同的数字。 它们都有相同的符号或三个不同的符号。 它们都有相同的颜色或有三种不同的颜色 如何在数组中使用wright数据类型,然后在函数中检查哪个是好的 我尝试使用包含颜色、形状和数量的字符串数组。像绿色三角形3倍是:gt3。但是我不知道如何比较好的配对简短的回答是,您可以立即实现的是使用2D数组 您了解到数

我正在尝试制作一款名为sets()的纸牌游戏。我需要创建27张卡(阵列),然后每次检查,从中取出12张卡并获得配对。有人知道搜索配对的最佳方法吗。要检查哪些卡: 它们都有相同的数字或有三个不同的数字。 它们都有相同的符号或三个不同的符号。 它们都有相同的颜色或有三种不同的颜色

如何在数组中使用wright数据类型,然后在函数中检查哪个是好的


我尝试使用包含颜色、形状和数量的字符串数组。像绿色三角形3倍是:gt3。但是我不知道如何比较好的配对

简短的回答是,您可以立即实现的是使用2D数组

您了解到数组可以保存值。一个数组也可以容纳其他数组。因此,您可以使用每张卡的一个数组来保存属性,并将所有这些数组存储在“cardset”数组中。现在,您可以使用2个索引访问单个卡属性。下面的代码可以帮助您理解:

String[] card_a = {"G", "T","3"};
String[] card_b = {"R", "S","2"};
String[] card_c = {"G", "S","1"};

String[][] cardset = {card_a, card_b, card_c};

void setup(){
  //Print the number on card_a
  print(cardset[0][2]);
  //Compare the number on card_a with the number on card_b
  if(cardset[0][2] == cardset[1][2]){
  print("Equal!");
  }
  else{
  print("Unequal!");
  }
}
您也可以像下面这样直接实例化二维数组:

String[][] cardset = {  {"G", "T","3"},
                        {"R", "S","2"},
                        {"G", "S","1"}
                      };
答案很长,你应该了解物体的力量。
我不会完全解释它,因为那将是非常漫长的,互联网上充满了优秀的解释-比我的更好

我建议您在处理网站上阅读。我还可以就处理和编程的基础知识提供建议,包括对象

下面的代码向您展示了对象的基本实现是什么样子的。这对你来说可能还没什么意义。没关系。对象是一个基本的编程原则,但它需要一些时间——以及一个很好的解释——才能让您的头脑清醒过来。因此,我强烈建议您查看我在上面发布的教程。在你完全掌握这个概念之前可能需要一段时间,但当你掌握了它的时候,你可以利用它的力量

class Card {

  String shape;
  int number;
  color col;

  Card(String s, int n, color c) {
    shape = s;
    number = n;
    col = c;
  }
  }

  void setup() {

    color red = color(255, 0, 0);
    color green = color(0, 255, 0);
    color blue = color(0, 0, 255);

    Card a = new Card("Circle", 1, red);
    Card b = new Card("Square", 2, green);
    Card c = new Card("Circle", 3, blue);

    //Check for equal shapes
    if (a.shape == b.shape && b.shape ==c.shape ) {
      print("All shapes equal");
    }

    //Check for unequal shapes
    if (a.shape != b.shape && a.shape != c.shape && b.shape !=c.shape ) {
      print("All shapes unequal");
    }
  }

您已经将帖子标记为Java和Processing。哪一个是相关的?最佳方式?在什么意义上?“你有没有试过自己解决这个问题?”安德鲁凡我编辑了它,它回答了你的问题questions@Gendarme我用我尝试过的内容更改了文本:非常感谢,最后一部分将完美满足我的需求。链接也有帮助,谢谢