黑马程序员技术交流社区

标题: 分享一个模仿斗地主发牌的代码 [打印本页]

作者: yuanqing    时间: 2016-6-24 23:44
标题: 分享一个模仿斗地主发牌的代码
  1. package doudizhu1;

  2. import java.util.ArrayList;
  3. import java.util.Collections;
  4. import java.util.HashMap;
  5. import java.util.TreeSet;

  6. public class Test {

  7.         public static void main(String[] args) {
  8.                 String []num={"3","4","5","6","7","8","9","10","J","Q","K","A","2"};
  9.                 String []color={"方片","红桃","梅花","黑桃"};
  10.                 HashMap<Integer, String> hs=new HashMap<Integer, String>();
  11.                 ArrayList<Integer> list=new ArrayList<Integer>();
  12.                 int index=0;
  13.                 for(String a:num){
  14.                         for (String b:color){
  15.                                 list.add(index);
  16.                                 hs.put(index++, b.concat(a));
  17.                         }
  18.                 }
  19.                 list.add(index);
  20.                 hs.put(index++, "小王");
  21.                 list.add(index);
  22.                 hs.put(index, "大王");
  23.                
  24.                 TreeSet<Integer> dipai= new TreeSet<Integer>();
  25.                 TreeSet<Integer> wo= new TreeSet<Integer>();
  26.                 TreeSet<Integer> ni= new TreeSet<Integer>();
  27.                 TreeSet<Integer> ta= new TreeSet<Integer>();
  28.                 Collections.shuffle(list);
  29.                 for(int i=0;i<list.size();i++){
  30.                         if(i>=list.size()-3){
  31.                                 dipai.add(list.get(i));
  32.                         }else if(i%3==1){
  33.                                 wo.add(list.get(i));
  34.                         }else if(i%3==0){
  35.                                 ni.add(list.get(i));
  36.                         }else{
  37.                                 ta.add(list.get(i));
  38.                         }
  39.                 }
  40.                 lookpork("小明",hs,wo);
  41.                 lookpork("小高",hs,ni);
  42.                 lookpork("小亮",hs,ta);
  43.                 lookpork("底牌",hs,dipai);
  44.                
  45.                                

  46.         }
  47.         public static void lookpork(String name,HashMap<Integer, String> hs,TreeSet<Integer> di){
  48.                 System.out.print(name+"牌是 ");
  49.                 for(Integer i:di){
  50.                         System.out.print(hs.get(i)+" ");
  51.                 }
  52.                 System.out.println();
  53.         }

  54. }
复制代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2