package zyr.doudizhu;
/*
* 54张牌 3个玩家 没人17张牌 最后3张留作底牌
* 1准备牌
* 2洗牌
* 3发牌
* 4看牌
* */
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
public class Doudizhu {
public static void main(String[] args) {
//1准备牌子
//定义一个存储54牌的arraylist 泛型用string
ArrayList<String> porker = new ArrayList<>();
//定义2个数组 一个存储花色了另一个存储数字号码
String[] color = {"♠","♥","♣","♦"};
String[] nums = {"2","1","K","Q","J","10","9","8","7","6","5","4","3"};
//先存储进去大王小王
porker.add("大王");
porker.add("小王");
//遍历然后把牌放进去
for(String col:color){
for(String num:nums){
porker.add(col+num);
}
}
//洗牌
Collections.shuffle(porker);
// for (String sb:porker){
//
// System.out.println(sb);
// }
//发牌
//定义4个结合 存储玩家的牌和底牌
ArrayList<String> player01 = new ArrayList<>();
ArrayList<String> player02 = new ArrayList<>();
ArrayList<String> player03 = new ArrayList<>();
ArrayList<String> dipai = new ArrayList<>();
for(int i=0;i<porker.size();i++)
{
//获取每一张牌
String p = porker.get(i);
if (i>=51){
dipai.add(p);
}else{
if(i%3==0){
player01.add(p);
}else if(i%3==1){
player02.add(p);
}else{
player03.add(p);
}
}
}
//展示牌
show(player01,"玩家1");
show(player02,"玩家2");
show(player03,"玩家3");
show(dipai,"底牌");
//java的arraylist 可以直接输出
System.out.println("玩家1"+player01);
System.out.println("玩家2"+player02);
System.out.println("玩家3"+player03);
System.out.println("底牌"+dipai);
}
private static void show(ArrayList<String> arr,String name){
for(String pai:arr){
System.out.println(name+pai);
}
System.out.println("=================");
}
}
输入结果如下
D:\jdk9\bin\java "-javaagent:D:\javaidea\IntelliJ IDEA 2017.3.4\lib\idea_rt.jar=11366:D:\javaidea\IntelliJ IDEA 2017.3.4\bin" -Dfile.encoding=UTF-8 -classpath D:\javacode\out\test\day01;D:\javacode\out\production\day01 zyr.doudizhu.Doudizhu
玩家1♥7
玩家1♥3
玩家1♦7
玩家1♣6
玩家1♠J
玩家1♥4
玩家1♣1
玩家1♣3
玩家1♦4
玩家1♦8
玩家1♥10
玩家1♥8
玩家1♠K
玩家1♣5
玩家1♠Q
玩家1♦Q
玩家1♦9
=================
玩家2♥K
玩家2♠2
玩家2♥2
玩家2♠7
玩家2♠10
玩家2♥1
玩家2♣J
玩家2♠5
玩家2♣2
玩家2♦J
玩家2♥Q
玩家2♣10
玩家2♠3
玩家2♠4
玩家2♣9
玩家2♣4
玩家2♦1
=================
玩家3♣K
玩家3♥J
玩家3♣Q
玩家3小王
玩家3大王
玩家3♦10
玩家3♦2
玩家3♠6
玩家3♥6
玩家3♠1
玩家3♦6
玩家3♦5
玩家3♣8
玩家3♦3
玩家3♥9
玩家3♥5
玩家3♠9
=================
底牌♣7
底牌♦K
底牌♠8
=================
玩家1[♥7, ♥3, ♦7, ♣6, ♠J, ♥4, ♣1, ♣3, ♦4, ♦8, ♥10, ♥8, ♠K, ♣5, ♠Q, ♦Q, ♦9]
玩家2[♥K, ♠2, ♥2, ♠7, ♠10, ♥1, ♣J, ♠5, ♣2, ♦J, ♥Q, ♣10, ♠3, ♠4, ♣9, ♣4, ♦1]
玩家3[♣K, ♥J, ♣Q, 小王, 大王, ♦10, ♦2, ♠6, ♥6, ♠1, ♦6, ♦5, ♣8, ♦3, ♥9, ♥5, ♠9]
底牌[♣7, ♦K, ♠8]