1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
| package Map集合.斗地主;
import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.HashMap; import java.util.TreeSet;
public class PokerDemo {
public static void main(String[] args) { // TODO Auto-generated method stub //创建HashMap,键是牌号,值是牌 HashMap<Integer, String> hm=new HashMap<Integer, String>(); //创建ArrayList ,存储编号 ArrayList<Integer> array=new ArrayList<Integer>(); //创建花色数组和点数数组 String[] colors= {"♦","♣","♥","♠"}; String[] numbers= {"3","4","5","6","7","8","9","10","J","Q","K","A","2"}; //从0开始往HashMap里面存储编号,并且存储对应编号,同时往ArrayLiat里面存储编号 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> t1=new TreeSet<Integer>(); TreeSet<Integer> t2=new TreeSet<Integer>(); TreeSet<Integer> t3=new TreeSet<Integer>(); TreeSet<Integer> dipai=new TreeSet<Integer>(); for(int i=0;i<array.size();i++) { int x=array.get(i); if(i>=array.size()-3) { dipai.add(x); }else if(i % 3==0) { t1.add(i); } else if(i % 3==1) { t2.add(i); } else if(i % 3==2) { t3.add(i); } } lookPoker("张三1", t1, hm); lookPoker("张三2", t2, hm); lookPoker("张三3", t3, hm); lookPoker("底牌", dipai, hm); } public static void lookPoker(String name,TreeSet<Integer> ts,HashMap<Integer, String> hs) { System.out.print(name+"的牌是:"); for(Integer key:ts) { String poker=hs.get(key); System.out.print(poker+" "); } System.out.println(); } }
|