实现洗牌,发牌,看牌
package kanpai;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.TreeSet;
/*
* 创建一个HashMap集合
* 创建一个ArrayList集合
* 创建花色数组和点数数组
* 从0开始往HashMap里面存储编号和相应的牌,同时往ArrayList里面存储编号
* 洗牌
* 发牌
* 看牌(都是编号操作)
* */
public class Pokerkanpai {
public static void main(String[] args) {
HashMap<Integer,String> hm = new HashMap<Integer,String>();
ArrayList<Integer> array = new ArrayList<Integer>();
String[] colors = {"♠","♥","♣","♦"}; //创建一个牌型数组,包括黑桃、红桃、梅花、方片
String[] numbers = {"3","4","5","6","7","8","9","10","J","Q","K","A","2"};
int index = 0;
for(String number : numbers) {
for(String color : colors) {
String poker = color.concat(number);
hm.put(index, poker);
array.add(index);
index ++;
}
}
hm.put(index,"小王");
array.add(index);
index ++;
hm.put(index,"大王");
array.add(index);
//洗牌
Collections.shuffle(array);
//发牌
TreeSet<Integer> P1 = new TreeSet<Integer>();
TreeSet<Integer> P2 = new TreeSet<Integer>();
TreeSet<Integer> P3 = new TreeSet<Integer>();
TreeSet<Integer> dipai = new TreeSet<Integer>();
for(int x = 0; x < array.size(); x ++) {
if(x >= array.size() - 3) {
dipai.add(array.get(x));
}
else if(x % 3 == 0){
P1.add(array.get(x));
}
else if(x % 3 == 1){
P2.add(array.get(x));
}
else if(x % 3 == 2){
P3.add(array.get(x));
}
}
lookPoker("p1",P1,hm);
lookPoker("p2",P2,hm);
lookPoker("p3",P3,hm);
lookPoker("底牌",dipai,hm);
}
public static void lookPoker (String name, TreeSet<Integer> ts, HashMap<Integer,String> hm) {
System.out.print(name + "的牌是");
for(Integer key : ts) {
String value = hm.get(key);
System.out.print(value + " ");
}
System.out.println();
}
}