斗地主JDK1.9中Map集合of用法


package cn.edu.ccut.four;

import java.util.*;

public class DouDiZhu {
    public static void main(String[] args) {
        //1、准備牌
        //創建一個Map集合,存儲索引和組裝好牌
        HashMap<Integer,String> puke=new HashMap<>();
        //創建list集合存儲索引
        ArrayList<Integer> pukeIndex= new ArrayList<>();
        //定義兩個數組,一個數組存儲牌的花色,一個數組存儲牌的序號
       List<String> colors= List.of("♠","♥","♣","♦");
       List<String> numbers = List.of("2","A","K","Q","J","10","9","8","7","6","5","4","3");
       //大王小王存入
        int index = 0;
        puke.put(index,"大王");
        index++;
        puke.put(index,"小王");
        pukeIndex.add(index);
        index++;
        for (String number : numbers) {
            for (String color : colors) {
                puke.put(index,color+number);
                pukeIndex.add(index);
                index++;
            }
        }
        /*System.out.println(puke);
        System.out.println(pukeIndex);*/
        Collections.shuffle(pukeIndex);
        //發牌
        ArrayList<Integer> player01 = new ArrayList<>();
        ArrayList<Integer> player02 = new ArrayList<>();
        ArrayList<Integer> player03 = new ArrayList<>();
        ArrayList<Integer> dipai = new ArrayList<>();
        for (int i = 0; i < pukeIndex.size(); i++) {
            Integer in = pukeIndex.get(i);
            if (i>=51){
                dipai.add(in);
            }else if(i%3==0){
                player01.add(in);
            }else if(i%3==1){
                player02.add(in);
            }else if(i%3==2){
                player03.add(in);
            }

        }
        //排序
        Collections.sort(player01);
        Collections.sort(player02);
        Collections.sort(player03);
        Collections.sort(dipai);
        //看牌
        lookpuke("張飛",puke,player01);
        lookpuke("關羽",puke,player02);
        lookpuke("劉備",puke,player03);
        lookpuke("底牌",puke,dipai);
    }
    //看牌,提高代碼復用性
    public static void lookpuke(String name,HashMap<Integer,String>puke,ArrayList<Integer> list){
        System.out.println(name+":");
        for (Integer key : list) {
            String value = puke.get(key);
            System.out.println(value+"");

        }
        System.out.println();
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM