代码;
package cn.com.Demo;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
public class PlayerPooker {
public static void main(String[] args) {
//创建Map集合,键是编号,值是牌
HashMap<Integer,String> pooker=new HashMap<Integer,String>();
//创建ArrayList,储存编号
ArrayList<Integer> pookerNumber=new ArrayList<Integer>();
//定义出13个点数的数组;
String[] numbers={"A","2","3","4","5","6","7","8","9","10","J","Q","K"};
//定义梅花 红心。。用数组保存;
String[] colors={"♠","♥","♦","♣"};
//定义整数变量,作为键出现;
int index=2;
//遍历数组 花色+点数的组合,存储到Map集合;
for (String number : numbers) {
for (String color : colors) {
pooker.put(index, color+number);
pookerNumber.add(index);
index++;
}
}
//存储大王 ,小王;
pooker.put(0, "大王");
pookerNumber.add(0);
pooker.put(1, "小王");
pookerNumber.add(1);
//洗牌将牌号打乱
Collections.shuffle(pookerNumber);
//发牌功能,将牌编号,发给玩家集合,底牌集合;
ArrayList<Integer> player1=new ArrayList<Integer>();//玩家1
ArrayList<Integer> player2=new ArrayList<Integer>();//玩家2
ArrayList<Integer> player3=new ArrayList<Integer>();//玩家3
ArrayList<Integer> bottom=new ArrayList<Integer>();//底牌
//发牌采用集合索引%3;
for (int i = 0; i < pookerNumber.size(); i++) {
//将底牌放好;
if (i<3) {
//放到底牌中;
bottom.add(pookerNumber.get(i));
}
if (i%3==0) {
player1.add(pookerNumber.get(i));
}
if (i%3==1) {
player2.add(pookerNumber.get(i));
}
if (i%3==2) {
player3.add(pookerNumber.get(i));
}
}
//对玩家手中的编号排序
Collections.sort(player1);
Collections.sort(player2);
Collections.sort(player3);
//看牌,将玩家手中的编号,放到Map集合中查找。根据键找到值;
//定义方法实现;
Look("大老婆",player1,pooker);
Look("二老婆",player2,pooker);
Look("三老婆",player3,pooker);
Look("小老婆",bottom,pooker);
}
private static void Look(String name, ArrayList<Integer> player, HashMap<Integer, String> pooker) {
System.out.println(name+" ");
for (Integer key : player) {
String value = pooker.get(key);
System.out.println(value+" ");
}
System.out.println();
}
}