- 牌:大王小王2张牌,A…J,Q,K和四种花色的组合4*13=52张牌,一共54张。
- 洗牌:牌的顺序打乱
- 发牌
- 看牌
import java.util.ArrayList;
import java.util.Collections;
public class demo8Doudizhu {
public static void main(String[] args){
ArrayList<String> poker = new ArrayList<>();//存所有的牌
String[] colors = {"红心","黑桃","黑色梅花","红色方块"};//存花色
String[] numbers = {"A","2","3","4","5","6","7","8","9","10","J","Q","K"};//存数字
poker.add("大王");
poker.add("小王");
for(String color : colors){
for(String number : numbers){
String s = color+number;
poker.add(s);
}
}
System.out.println(poker);
Collections.shuffle(poker);//洗牌
ArrayList<String> player1 = new ArrayList<>();
ArrayList<String> player2 = new ArrayList<>();
ArrayList<String> player3 = new ArrayList<>();
ArrayList<String> shengyudepai = new ArrayList<>();
for(int i = 0;i<poker.size();i++){
if (i>=51){
shengyudepai.add(poker.get(i));
}
else if (i%3==0){
player1.add(poker.get(i));
}
else if (i%3==1){
player2.add(poker.get(i));
}
else
player3.add(poker.get(i));
}
System.out.println("玩家1的牌为"+player1);
System.out.println("玩家2的牌为"+player2);
System.out.println("玩家3的牌为"+player3);
System.out.println("剩余三张牌为"+shengyudepai);
System.out.println(poker.indexOf("红心4"));//indexOf()根据括号中内容找索引,get()根据括号中索引找内容
}
}
注意:
除了大王小王,其他牌可以看成花色和数字的组合
Collections.shuffle(poker);//洗牌
发牌的时候,最后三张牌先留出来,避免底牌不足的情况