我正在尝试制作名为套(Here a link to how it works)的纸牌游戏。我需要创建27张卡片(阵列),然后检查每次从其中取出12张卡片并获得配对。有谁知道搜索对的最佳方法。喜欢检查哪些卡: 它们都具有相同的编号或具有三个不同的编号。 它们都具有相同的符号或具有三个不同的符号。 它们都具有相同的颜色或具有三种不同的颜色。
我该如何在数组中使用wright数据类型,然后再检查哪个是函数中的好数据
我尝试使用带有字符串的数组,该字符串包含颜色,形状和数量。像绿色三角形一样3倍的时间是:gt3。但是我找不到如何比较好配对的
答案 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");
}
}