Java 已处理黑杰克印刷卡
我在玩黑杰克游戏时需要帮助。我在一个阵列中有一副牌组,每次我拿出一张牌并处理它时,阵列会被重新分配到比大小小的一张。所以我有一个循环,每个第n个玩家发两张牌Java 已处理黑杰克印刷卡,java,arrays,Java,Arrays,我在玩黑杰克游戏时需要帮助。我在一个阵列中有一副牌组,每次我拿出一张牌并处理它时,阵列会被重新分配到比大小小的一张。所以我有一个循环,每个第n个玩家发两张牌 deck=createCardArray(); shuffle(deck); int[] players = createPlayers(n); int[] points = createPoints(n); for(int i = 1 ; i<= p
deck=createCardArray();
shuffle(deck);
int[] players = createPlayers(n);
int[] points = createPoints(n);
for(int i = 1 ; i<= players.length; i++){
Card a = dealCard(deck);
updatePoints(players, points, i, a);
Card b = dealCard(deck);
updatePoints(players, points, i, b);
printStats(players, points, a, b);
}
deck=createCardArray();
洗牌(牌组);
int[]players=createPlayers(n);
int[]点=创建点(n);
对于(int i=1;i玩家有一手牌…所以给玩家他的牌!换句话说,创建一个代表玩家当前牌的字段。然后,当你发牌时,做player.hit(card newCard)
,然后要显示他的手牌,只需做列出player.getHand()
玩家“有一手牌”手牌…所以给玩家他的牌!换句话说,创建一个代表玩家当前牌的字段。然后,当你发牌时,执行player.hit(card newCard)
,然后显示他的手牌,只需执行List player.getHand()
您可以通过创建一个包含您正在调用的方法的播放器类来改进设计
public class Player{
Card a;
Card b;
public Card getA() {
return a;
}
public void setA(Card a) {
this.a = a;
}
public Card getB() {
return b;
}
public void setB(Card b) {
this.b = b;
}
public int points(){
//calculation for returning point value
int points = 0;
return points;
}
}
现在,不再使用两个数组,只需使用一个数组来包含每个玩家。当你循环使用此数组时,你可以使用setA()
和setB()
方法将牌交给玩家。一旦每个玩家都有牌,你可以再次循环使用数组并使用getA()
和getB()
打印卡片。使用点数()
可以轻松计算每个玩家手牌的点数,而无需在额外的阵列中拖动
如果使用列表或ArrayList而不是显式地使用A、B属性来保存卡,则可以使此功能更加有用。这将使您可以在oter卡牌游戏中使用相同的系统,而不仅仅使用2张卡。您可以通过创建包含所调用方法的Player类来改进设计。一个简单的实现这看起来像这样
public class Player{
Card a;
Card b;
public Card getA() {
return a;
}
public void setA(Card a) {
this.a = a;
}
public Card getB() {
return b;
}
public void setB(Card b) {
this.b = b;
}
public int points(){
//calculation for returning point value
int points = 0;
return points;
}
}
现在,不再使用两个数组,只需使用一个数组来包含每个玩家。当你循环使用此数组时,你可以使用setA()
和setB()
方法将牌交给玩家。一旦每个玩家都有牌,你可以再次循环使用数组并使用getA()
和getB()
打印卡片。使用点数()
可以轻松计算每个玩家手牌的点数,而无需在额外的阵列中拖动
如果您使用列表或数组列表而不是显式地使用A、B属性来保存卡,则可以使此功能更加有用。这将允许您在oter纸牌游戏中使用相同的系统,而不仅仅是使用两张卡。您真的在每个循环中调用printStats
?我不知道有任何其他方法printStats是查看e的一种方法非常适合玩家的卡牌和点数。这种方法通常在所有玩家都有卡牌和点数要查看后调用,而不是在您仍在设置所有内容时调用,仅此而已。请看我下面的答案,了解在不添加更多数组的情况下简化设计的方法。您真的在每个循环中调用printStats
?我不知道任何其他wayprintStats都是一种查看每个玩家的牌和点数的方法。这种方法通常在所有玩家都有牌和点数要查看后调用,而不是在您仍在设置所有内容时调用,仅此而已。请查看我下面的答案,以了解在不添加更多阵列的情况下简化设计的方法。