import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.TreeSet;
public class PorkDemo {
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);
//添加到HashMap集合中
hm.put(index, poker);
//将编号添加到ArrayList集合中
array.add(index);
index++;
}
}
//添加大小王
hm.put(index, "大王");
array.add(index);
index++;
hm.put(index, "小王");
array.add(index);
System.out.println(array);
System.out.println("------------");
//洗牌:洗的是编号
Collections.shuffle(array);
System.out.println(array);
//发牌
TreeSet<Integer>player1=new TreeSet<Integer>();
TreeSet<Integer>player2=new TreeSet<Integer>();
TreeSet<Integer>player3=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) {
player1.add(array.get(x));
}else if(x%3==1) {
player2.add(array.get(x));
}else if(x%3==2) {
player3.add(array.get(x));
}
}
lookPoker("dipai",dipai,hm);
lookPoker("player1",player1,hm);
lookPoker("player2",player2,hm);
lookPoker("player3",player3,hm);
}
//看牌
public static void lookPoker(String name,TreeSet<Integer>ts,HashMap<Integer,String>hm) {
System.out.print(name+"的牌是:");
//增强for遍历
for(Integer key:ts) {
String s=hm.get(key);
System.out.print(s+" ");
}
System.out.println();
}
}
模拟斗地主的洗牌发牌——牌有序
最新推荐文章于 2024-07-22 14:15:06 发布