模拟斗地主洗牌发牌和看牌
首先要创建一个数组存牌
ArrayList<String> list = new ArrayList<>();
String[] colors = {"♠", "♥", "♣", "♦"};
String[] nums = {"A", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K"};
然后把颜色和数字存到集合中去
for (String color : colors) {
for (String num : nums) {
list.add(num.concat(color));//把颜色和数字加到集合中
}
}
list.add("大王");
list.add("小王");//添加大王小王
洗牌
Collections.shuffle(list);
发牌和看牌:
先把每个人的牌存起来
ArrayList<String> 底牌 = new ArrayList<>();
ArrayList<String> 小一 = new ArrayList<>();
ArrayList<String> 小二 = new ArrayList<>();
ArrayList<String> 小三 = new ArrayList<>();
每个人一张牌
for (int i=0;i<list.size();i++) {
//给每个人按顺序发牌
if(i>=list.size()-3) {
底牌.add(list.get(i));
}else if(i%3==0){
小一.add(list.get(i));
}else if(i%3==1){
小二.add(list.get(i));
}else if(i%3==2){
小三.add(list.get(i));
}
}
排序
Collections.sort(底牌);
Collections.sort(小一);
Collections.sort(小二);
Collections.sort(小三);
看牌
System.out.println("底牌"+底牌);
System.out.println("小一:"+小一);
System.out.println("小二:"+小二);
System.out.println("小三:"+小三);
}
结果展示