Java集合 斗地主综合题

 

import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;

/*
 *  斗地主玩牌
 */
public class DouDiZhu {
    public static void main(String[] args) {
        //1. 准备扑克牌
        
        HashMap<Integer,String> pooker = new HashMap<Integer, String>();
        
        ArrayList<Integer> pookerNumber = new ArrayList<Integer>();
    
        String[] numbers = {"2","A","K","Q","J","10","9","8","7","6","5","4","3"};    
        String[] colors = {"红桃","黑桃","方片","草花"};    
        int index = 2;    
        for(String number : numbers){
            for(String color : colors){
                pooker.put(index, color+number);
                pookerNumber.add(index);
                index++;
            }
        }
        
        pooker.put(0, "大王");
        pookerNumber.add(0);
        pooker.put(1, "小王");
        pookerNumber.add(1);
        
        //2. 洗牌
        Collections.shuffle(pookerNumber);
        
        //三个玩家集合   一个底牌集合
        ArrayList<Integer> player1 = new ArrayList<Integer>();
        ArrayList<Integer> player2 = new ArrayList<Integer>();
        ArrayList<Integer> player3 = new ArrayList<Integer>();
        ArrayList<Integer> bottom = new ArrayList<Integer>();
        
        //利用ArrayList集合中元素的索引  索引%3
        for(int i = 0 ; i < pookerNumber.size() ; i++){
            //前三张牌 先拿出 做为底牌
            if(i < 3){
                
                bottom.add( pookerNumber.get(i));
               
            }else if(i % 3 == 0){
                
                player1.add( pookerNumber.get(i) );//第一个玩家 拿牌
            }else if( i % 3 == 1){    
                
                player2.add( pookerNumber.get(i) );//第二个玩家 拿牌
            }else if( i % 3 == 2){
                
                player3.add( pookerNumber.get(i) );//第三个玩家 拿牌
            }
        }
        //3.每个玩家手中的牌  排序
        Collections.sort(player1);
        Collections.sort(player2);
        Collections.sort(player3);
        
        //4.显示牌面
        look("刘德华",player1,pooker);
        look("张曼玉",player2,pooker);
        look("林青霞",player3,pooker);
        look("底牌",bottom,pooker);
    }
    public static void look(String name,ArrayList<Integer> player,HashMap<Integer,String> pooker){
    
        System.out.print(name+" ");
        for(Integer key : player){
            String value = pooker.get(key);
            System.out.print(value+" ");
        }
        System.out.println();
    }
}

 

posted @ 2020-05-18 21:47  CherryYang  阅读(193)  评论(0编辑  收藏  举报