我正在制作一款适用于Android的二十一点纸牌游戏。我在为图像分配值时遇到问题。 我有52张卡片图片,我想指定一个套装/值。我不确定最好的方法是什么。
答案 0 :(得分:2)
就个人而言,我会创建一个Card
类,其中包含一个Image,一个字符串(或int),以及该卡的值。
例如:
public class Card {
private String imagePath;
private String suit;
private int value;
public Card(String imgPath, String suit, int value) {
this.imagePath = imgPath;
this.suit = suit;
this.value = value;
}
public getImagePath() { return this.imagePath; }
public getSuit() { return this.suit; }
public getValue() { return this.value; }
}
从那里你可以使用Image
而不是文件路径。真的,这取决于你想怎么做。存在用于将数据分组在一起并使其易于访问的类,因此请使用它们。
编辑:较低级别的实现是按文件的套装和值命名文件,例如'10 -Hearts.png',然后使用正则表达式或简单的解析算法来检索名称的两个部分,但这个解决方案非常笨拙:
//start adding to suit after passing a '-' character
boolean doSuit;
String value = ""; String suit = "";
for (int i = 0; i < filename.length(); i++) {
if (filename.charAt[i] != '-') {
value = value + filename.charAt[i];
} else if (doSuit && filename.charAt[i] != '-') {
suit = suit + filename.charAt[i];
} else {
doSuit = true;
}
}
我曾经像第二个一样破解解决方案。他们并不漂亮,当他们失败时,他们会以最壮观的方式这样做。请为了上帝的爱,使用课程。