简单斗地主内部原理的实现机制
public class PokerDemoUpdate {
public static void main(String[] args) {
//创建HashMap集合,键是编号,值是牌
HashMap<Integer,String> hm = new HashMap<Integer,String>();
//创建ArrayList集合,存储编号
ArrayList<Integer> array = new ArrayList<Integer>();
//创建花色数组和点数组
String[] colors={"♦","♥","♠","♣"};
String[] numbers = {"2","3","4","5","6","7","8","9","10","J","Q","K","A"};
//往数组里面添加值
int index = 0;
for (String number:numbers){
for (String color:colors){
hm.put(index,color+number);
array.add(index);
index++;
}
}
hm.put(index,"小王");
array.add(index);
index++;
hm.put(index,"大王");
array.add(index);
//洗牌
Collections.shuffle(array);
//发牌,TreeSet,牌序
TreeSet<Integer> s1 = new TreeSet<Integer>();
TreeSet<Integer> s2 = new TreeSet<Integer>();
TreeSet<Integer> s3 = new TreeSet<Integer>();
TreeSet<Integer> dp = new TreeSet<Integer>();
for (int i =0;i< array.size();i++){
int x = array.get(i);
if(i>=array.size()-3){
dp.add(x);
}else if (i%3==0){
s1.add(x);
}else if (i%3==1){
s2.add(x);
}else if (i%3==2){
s3.add(x);
}
}
//调用看牌方法
LookPoker("aa",s1,hm);
LookPoker("bb",s2,hm);
LookPoker("cc",s3,hm);
LookPoker("底牌",dp,hm);
}
//定义看牌方法
public static void LookPoker(String name,TreeSet<Integer> ts,HashMap<Integer,String> hm){
System.out.print(name+"的牌是:");
for (Integer key:ts){
String poker = hm.get(key);
System.out.print(poker+" ");
}
System.out.println();
}
}