纸牌游戏在处理中

时间:2019-01-22 19:36:35

标签: processing

我正在尝试制作名为套(Here a link to how it works)的纸牌游戏。我需要创建27张卡片(阵列),然后检查每次从其中取出12张卡片并获得配对。有谁知道搜索对的最佳方法。喜欢检查哪些卡: 它们都具有相同的编号或具有三个不同的编号。 它们都具有相同的符号或具有三个不同的符号。 它们都具有相同的颜色或具有三种不同的颜色。

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

我尝试使用带有字符串的数组,该字符串包含颜色,形状和数量。像绿色三角形一样3倍的时间是:gt3。但是我找不到如何比较好配对的

1 个答案:

答案 0 :(得分:1)

您可以立即实现的简短答案是使用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!");
  }
}

您还可以像这样直接实例化2D数组:

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

长答案是您应该了解对象的功能。
我不会完全解释它,因为那将是很长的时间,并且互联网上充满了很好的解释-比我的要好。

我建议您阅读处理网站上的this tutorial。我还可以为this video series提供有关处理和编程(包括对象)的基础知识的建议。

下面的代码向您展示对象的基本实现是什么样的。这可能对您还没有太大意义。没关系。对象是编程的基本原则,但是要花一些时间才能理解。因此,我强烈建议您查看我上面发布的教程。完全掌握该概念可能需要一些时间,但是一旦您掌握了它,就可以利用它的强大功能。

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");
    }
  }