使用Java中ArrayList實現鬥地主發牌
阿新 • • 發佈:2018-12-18
實現步驟: 1、造牌 A、首先造撲克花色 B、生成J、Q、K、A特殊牌 C、講花色和撲克進行拼接 2、建立三個玩家 3、洗牌 4、發牌 5、留三張底牌
public class Demo1Poker { public static void main(String[] args) { //1、造牌 2、 ArrayList<String> pokerBox=new ArrayList<>(); ArrayList<String> colors=new ArrayList<>(); ArrayList<String> numbers=new ArrayList<>(); colors.add("♠"); colors.add("♥"); colors.add("♦"); colors.add("♣"); for(int i=2;i<=10;i++){ numbers.add(i+""); } numbers.add("J"); numbers.add("Q"); numbers.add("K"); numbers.add("A"); //造牌 先拿花色,在拿牌面值,進行拼接 for(String color:colors){ for(String number:numbers){ pokerBox.add(color+number); } } //已經造了52張牌 pokerBox.add("小王"); pokerBox.add("大王"); // System.out.println(pokerBox); Collections.shuffle(pokerBox); // System.out.println(pokerBox); //建立玩家 ArrayList<String> player1=new ArrayList<>(); ArrayList<String> player2=new ArrayList<>(); ArrayList<String> player3=new ArrayList<>(); for(int i=0;i<pokerBox.size();i++){ if(i>=pokerBox.size()-3){ }else if(i%3==0){ //玩家一的撲克 player1.add(pokerBox.get(i)); }else if(i%3==1){ //玩家二的撲克 player2.add(pokerBox.get(i)); }else if(i%3==2){ //玩家三的撲克 player3.add(pokerBox.get(i)); } } System.out.println("玩家1:"+player1.size()+"張牌,牌是:"+player1.toString()); System.out.println("玩家2:"+player2.size()+"張牌,牌是:"+player2.toString()); System.out.println("玩家3:"+player3.size()+"張牌,牌是:"+player3.toString()); } }
最後沒有實現發到玩家手上的撲克,沒有進行順序排列。
結果: