1. 程式人生 > >通過Java實現鬥地主

通過Java實現鬥地主

inf AS 9.png import layer TE 編號 ber package

功能:洗牌,發牌,對玩家手中的牌排序,看牌

package demo06;

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

/**
 * 
 * @author Administrator
 *    實現模擬鬥地主的功能
 *    1.組合牌
 *    2.洗牌
 *    3.發牌
 *    4.看牌
 */
public class DouDiZhu {
    public static void main(String[] args) {
        
//1. 組合牌 //創建Map集合,鍵是編號,值是牌 HashMap<Integer, String> pooker=new HashMap<>(); //創建List集合,存儲編號 ArrayList<Integer> pookerNumber=new ArrayList<>(); //定義出13個點數的數組 String[] numbers = {"2","A","K","Q","J","10","9","8", "7","6","5","4","3"};
//定義四個花色數組 String[] colors={"♥","♠","♣","♦"}; //定義整數變量,作為鍵出現 int index=2; //先避開大小王 //遍歷數組,花色+點數的組合存儲到Map集合 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); //洗牌,將牌的編號打亂 Collections.shuffle(pookerNumber); //發牌功能,將牌編號,發給玩家集合,底牌集合 ArrayList<Integer> player1=new ArrayList<>(); ArrayList<Integer> player2=new ArrayList<>(); ArrayList<Integer> player3=new ArrayList<>(); ArrayList<Integer> bottom=new ArrayList<>(); //發牌采用的是集合索引%3 for(int i=0;i<pookerNumber.size();i++){ //先將底牌做好 if(i<3){ //存到底牌去 bottom.add(pookerNumber.get(i)); } //對索引%3判斷 else if(i%3==0){ //索引上的編號,發給玩家1 player1.add(pookerNumber.get(i)); }else if(i%3==1){ //索引上的編號,發給玩家2 player2.add(pookerNumber.get(i)); }else if(i%3==2){ //索引上的編號,發給玩家3 player3.add(pookerNumber.get(i)); } } //對玩家手中的編號排序 Collections.sort(player1); Collections.sort(player2); Collections.sort(player3); //看牌,將玩家手中的編號,到Map集合中查找,根據鍵找值 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){ //遍歷ArrayList集合,獲取元素,作為鍵,到集合Map中找值 System.out.println(name+":"); for(Integer key:player){ String value=pooker.get(key); System.out.print(value+" "); } System.out.println(); } }

技術分享圖片

通過Java實現鬥地主