标签:get ons 内容 size public 案例 array ber 取颜色
斗地主案例
按照斗地主的规则,完成洗牌发牌的动作。
具体规则:
使用54张牌打乱顺序,三个玩家参与游戏,三人交替摸牌,每人17张牌,
最后三张留作底牌。每张牌由花色数字两部分组成,最后当纸牌全部发完
之后,查看三个玩家手中的牌和底牌内容。
要求使用ArrayList类来实现以上程序开发。
代码:
public static void main(String[] args) {
//创建颜色集合
ArrayList<String> colour = new ArrayList<>();
colour.add("?");
colour.add("?");
colour.add("?");
colour.add("?");
//创建数字集合
ArrayList<String> number = new ArrayList<>();
number.add("A");
for (int i = 2; i <= 10; i++) {
number.add("" + i);
}
number.add("J");
number.add("Q");
number.add("K");
//创建卡牌集合
ArrayList<String> Cards = new ArrayList<>();
for (int i = 0; i < number.size(); i++) {
for (int j = 0; j < colour.size(); j++) {
// 获取数字 获取颜色
Cards.add(number.get(i) + colour.get(j));//循环添加到卡牌集合
}
}
Cards.add("大王");
Cards.add("小王");
//洗牌
Collections.shuffle(Cards);
System.out.println("洗牌之后");
for (String card : Cards) {
System.out.print(" " + card);
}
System.out.println();
//int num = (int) (Math.random() * Cards.size());
ArrayList<String> plear1 = new ArrayList<>();//玩家1
ArrayList<String> plear2 = new ArrayList<>();//玩家2
ArrayList<String> plear3 = new ArrayList<>();//玩家3
ArrayList<String> killer = new ArrayList<>();//底牌
for (int i = 0; i < 17; i++) {
plear1.add(Cards.get(i * 3));//玩家1去牌
plear2.add(Cards.get(3 * i + 1));//玩家2去牌
plear3.add(Cards.get(3 * i + 2));//玩家3去牌
}
for (int i = 51; i < 54; i++) {
killer.add(Cards.get(i));//拿底牌
}
System.out.println("玩家一");
System.out.println(plear1.toString());
System.out.println("玩家二");
System.out.println(plear2.toString());
System.out.println("玩家三");
System.out.println(plear3.toString());
System.out.println("底牌");
System.out.println(killer.toString());
}
标签:get ons 内容 size public 案例 array ber 取颜色
原文地址:https://blog.51cto.com/14954368/2547372