【发布时间】:2014-07-11 21:08:00
【问题描述】:
我是一名初学 Java 的学生。所以任何帮助将不胜感激!
我设计了一个卡片类和甲板类,我将在我创建的游戏中使用它们。到目前为止,我的游戏似乎运行得很好,但我遇到的问题在于我的 Cards 类。我想利用我的 getRank() 方法来为玩家拥有的牌累积点数(无论花色如何)。
例如,如果他们抽到 2 颗钻石,则价值 2 分,红心 3 为 3 分……等等。我创建了一个名为ranks 的String[] 来尝试执行此操作,我认为就是这样做的。但是,我希望所有面牌(如国王、王后……)的值都为 10。但并非所有这些牌都位于我数组中的索引 10 处。我可以就如何进行调整有一些指导吗?
提前谢谢你。
int rank;
int suit;
String[]ranks = { " "," ", " " } //all 13 ranks from Ace to King
String[]suits = { " ", " ", " "} //all ranks
public Card(int rank, int suit){
this.rank = rank;
this.suit = suit;
}
public void setRank(int rank){
this.rank = rank;
}
public int getRank(){
return rank;
}
//more code for suits
public String toString(){
return ranks[rank]+" of "+suits[suit];
}
【问题讨论】:
-
一个简单的方法就是 return Math.min(10, rank);
-
你可以使用第三个数组:int[] pointValue = {2, 3, 4, 5, 6, 7, 8, 9, 10, 10, 10, 10, 10}; //王牌高