/**
* 需求:模拟斗地主游戏的发牌,结果无序
*
* 分析:1、创建一个集合对象,将扑克牌存储进去
* 2、洗牌
* 3、发牌
* 4、看牌
*/
public class Demo_DouDiZhu {
public static void main(String args[]){
/**
* 1、创建一个集合对象,将扑克牌存储进去
*/
//定义扑克牌四种类型的基本数字
String[] num = {"A","2","3","4","5","6","7","8","9","10","J","Q","K"};
//定义扑克牌的花色:红桃、黑桃、梅花、方块
String[] color = {"Heart","Spade","Club","Diamond"};
//定义扑克牌的对象ArrayList<String>
ArrayList<String> poker = new ArrayList<>();
//遍历num
for (String num_num : num){
//遍历color
for (String color_color : color){
//concat():连接两个字符串
poker.add(color_color.concat(num_num));
}
}
//添加大王、小王
poker.add("red_Joker");
poker.add("black_Joker");
/**
* 2、洗牌
*/
//随机排序方法
Collections.shuffle(poker);
/**
* 3、发牌
*/
//定义四个集合,分别是三个玩家对象和存储三张底牌
ArrayList<String> player1 = new ArrayList<>();
ArrayList<String> player2 = new ArrayList<>();
ArrayList<String> player3 = new ArrayList<>();
ArrayList<String> Concealed_Cards = new ArrayList<>();
for(int i=0;i<poker.size();i++){
//保留三张底牌:poker.size()-3,poker.size()-2,poker.size()-1
if(i >= poker.size()-3){
Concealed_Cards.add(poker.get(i));
}else if(i % 3 == 0){
player1.add(poker.get(i));
}else if(i % 3 ==1){
player2.add(poker.get(i));
}else {
player3.add(poker.get(i));
}
}
/**
* 4、看牌
*/
System.out.println("player1:"+player1);
System.out.println("----------------------------------------");
System.out.println("player2:"+player2);
System.out.println("----------------------------------------");
System.out.println("player3:"+player3);
System.out.println("----------------------------------------");
System.out.println("Concealed_Cards:"+Concealed_Cards);
}
}
看牌的结果怎么做到有序输出的呢?