实现了斗地主中的洗牌,发牌功能。
/**
* @author huangjinji
* @date 2020.4.20
*
*
*/
import java.util.ArrayList;
import java.util.Collections;
public class Doudizhu {
public static void main(String[] args) {
//准备牌 存储54张牌的数组
//定义数组存储颜色,和牌号
ArrayList<String> puke=new ArrayList<>();
String [] colors={"♣","♠","♦","♥"};
String [] numbers={"2","A","K","Q","J","10","9","8","7","6","5","4","3"};
//先把大王小王存储进去
puke.add("大王");
puke.add("小王");
for (String number:numbers) {
for (String color:colors){
puke.add(color+number);
}
}
System.out.println(puke);
//洗牌
Collections.shuffle(puke);
//发牌
ArrayList<String> player1=new ArrayList<>();
ArrayList<String> player2=new ArrayList<>();
ArrayList<String> player3=new ArrayList<>();
ArrayList<String> dipai=new ArrayList<>();
//遍历扑克集合
//使用集合索引轮流发牌,剩余三个作为底牌
for (int i=0;i<puke.size();i++){
//获取每个牌
String p=puke.get(i);
//轮流发牌
if (i>=51){
dipai.add(p);
}
else if (i%3==0){
//玩家1
player1.add(p);
}
else if (i%3==1){
player2.add(p);
}
else if (i%3==2){
player3.add(p);
}
}
//看牌
System.out.println("刘" +player1);
System.out.println("李" +player2);
System.out.println("周" +player3);
System.out.println("底牌" +dipai);
}
}