posts - 2, comments - 2, trackbacks - 0, articles - 23
            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理
          package cn.com.pbqi.corejava;

          import java.util.ArrayList;
          import java.util.Iterator;
          import java.util.List;
          import java.util.Map;
          import java.util.Random;
          import java.util.TreeMap;

          public class CardGame {
              
              
          private int pNum;
              
          private List<String> cardList = new ArrayList<String>(54);
              
          private Map<String,List<String>> map = new TreeMap<String,List<String>>();
              
              
          /**
               * 打牌的人數(shù),最少2個(gè)人,最多4個(gè)人
               * 
          @param pNum
               
          */

              
          public CardGame(int pNum) {
                  
          if(pNum < 2 || pNum > 4{
                      
          throw new IllegalArgumentException("CardPlayer must between 2 and 4, CardPlayer=" + pNum);
                  }

                  
          this.pNum = pNum;
                  
          for(int i = 0; i <pNum; i++{
                      map.put(i
          +"-"new ArrayList<String>());
                  }

                  
                  
          this.initCards();
                  
                  
          this.distribute();
                  
                  
          this.display();
              }

              
              
          /**
               * 初始化一副撲克
               
          */

              
          public List<String>  initCards() {
                  String[] type 
          = {"r","b","s","m"};
                  String[] cards 
          = {"A","2","3","4","5","6","7","8","9","10","J","Q","K"};
                  String[] kings 
          = {"大王","小王"};
                  
                  
          for(int i = 0; i < type.length; i++{
                      
          for(int j = 0; j < cards.length;j++{
                          cardList.add(cards[j]
          +type[i]);
                      }

                  }

                  
          for(int k = 0; k < kings.length; k++){
                      cardList.add(kings[k]);
                  }

                  
          return cardList;
              }

              
          /**
               * 發(fā)牌
               
          */

              
          public void distribute() {
                  Random r 
          = new Random();
                  
          int len = cardList.size();
                  
          int bakLen = len;
                  
          for(int i = 0; i < len; i++{
                      
          int rNum = r.nextInt(bakLen);
                      String card 
          = cardList.get(rNum);
                      
          int left = i % pNum;
                      map.get(left
          +"-").add(card);
                      cardList.remove(rNum);
                      bakLen
          --;
                  }

              }

              
              
          public void display() {
                  System.out.println(
          "======r:紅桃,b:黑桃,s:方塊,m:米花===========");
                  
          for(Iterator<String> iter = map.keySet().iterator(); iter.hasNext();) {
                      String key 
          = iter.next();
                      List
          <String> list = map.get(key);
                      System.out.print(key
          + " 的牌是===");
                      
          for(int i = 0; i < list.size();i++{
                          System.out.print(list.get(i));
                          
          if(i != list.size() -1{
                              System.out.print(
          ",");
                          }

                      }

                      System.out.println(
          "");
                  }

              }

              
              
          public static void main(String[] args) {
                  CardGame cg 
          = new CardGame(4);

              }


          }

          主站蜘蛛池模板: 鹤壁市| 孟津县| 甘肃省| 台州市| 晋宁县| 缙云县| 博湖县| 嵊州市| 蕲春县| 阳东县| 永顺县| 彭山县| 汨罗市| 罗甸县| 资兴市| 玛多县| 岑巩县| 南阳市| 九江县| 时尚| 弥勒县| 阿坝县| 开封县| 临漳县| 轮台县| 九江市| 石泉县| 金门县| 攀枝花市| 铜梁县| 额尔古纳市| 龙游县| 宜章县| 葵青区| 邹平县| 茂名市| 洪雅县| 资阳市| 黔西县| 浪卡子县| 乌苏市|