package day_02_Demo.pokerDemo;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
//按照斗地主的规则,完成洗牌发牌的动作。 具体规则:
//使用 54 张牌打乱顺序,三个玩家参与游戏,三人交替摸牌,每人 17 张牌,最后三
//张留作底牌。
public class Poker {
public static void main(String[] args) {
// 准备牌:
//创建三个集合分别是:扑克箱pokerBox,扑克花色colors,扑克数字numbers
ArrayList<String> pokerBox = new ArrayList<>();
Collection<String> colors = new ArrayList<>();
Collection<String> numbers = new ArrayList<>();
colors.add("♠");
colors.add("♥");
colors.add("♦");
colors.add("♣");
for (int i = 2; i <=10 ; i++) {
numbers.add(i+"");//注意拼接
}
numbers.add("A");
numbers.add("J");
numbers.add("Q");
numbers.add("K");
//添加大王,小王
pokerBox.add("大王");
pokerBox.add("小王");
//拼接花色和数字,
// System.out.println(colors);
// System.out.println(numbers);
for (String color:colors ) {
for (String number:numbers ) {
String s = color+number;
pokerBox.add(s);
}
}
System.out.println(pokerBox);
//打乱扑克牌:洗牌
Collections.shuffle( pokerBox);
System.out.println(pokerBox);
//• 发牌
//将每个人以及底牌设计为 ArrayList,将最后 3 张牌直接存放于底牌,剩余牌通过对3 取模依次发牌。
//创建三个玩家player,和底牌
Collection<String> player1 = new ArrayList<>();
Collection<String> player2 = new ArrayList<>();
Collection<String> player3 = new ArrayList<>();
Collection<String> diPai = new ArrayList<>();
//遍历扑克箱pokerBox
for (int i = 0; i <pokerBox.size() ; i++) {
//获取牌面
// String card = (String) ((List<?>) pokerBox).get(i);
String card = pokerBox.get(i);
if (i >=51) {
diPai.add(card);
}else if (i%3 == 0){
player1.add(card);
}else if (i%3 == 1){
player2.add(card);
}else {
player3.add(card);
}
}
//• 看牌
//直接打印每个集合。
System.out.println("tom:"+player1);
System.out.println("JACK:"+player2);
System.out.println("LILI:"+player3);
System.out.println("tom:"+diPai);
}
}