案例一,无序版 /* 斗地主综合案例: 1、准备牌 2、洗牌 3、发牌 4、看牌 */ import java.util.ArrayList; import java.util.Collections; public class demo { public static void main(String[] args) { /* 1、准备牌 使用集合装下五十四张牌 ♥♠♣♦ 2AKQJ109876543 */ // ArrayList colors=new ArrayList(); 愚蠢! 应该用数组装颜色和数字 在分牌的时候才更方便 String[] colors = {"♥","♠","♣","♦"}; String[] numbers = {"2","A","K","Q","J","10","9","8","7","6","5","4","3"}; //生成牌 ArrayList poker=new ArrayList(); poker.add("大王"); poker.add("小王"); for (int i=0; i list) 使用默认随机源对指定列表进行置换。所有置换发生的可能性都是大致相等的。 */ Collections.shuffle(poker); // System.out.println(poker); /* 发牌 给三位玩家各发17张牌,最后三张作为底牌 留给地主 0%2=0 1%2=1 2%2=0 3%2=1 0%3=0 1%3=1 2%3=2 3%3=0 */ //创建三个玩家 存储自己的牌 ArrayList player1=new ArrayList(); ArrayList player2=new ArrayList(); ArrayList player3=new ArrayList(); ArrayList diPai=new ArrayList(); //分牌 for (int i=0; i =51) diPai.add(poker.get(i)); if(i%3==0) player1.add(poker.get(i)); else if(i%3==1) player2.add(poker.get(i)); else if(i%3==2) player3.add(poker.get(i)); } /* 看牌 */ S