1 package day7.lesson3;
2
3 import java.util.ArrayList;
4 import java.util.Collections;
5
6 /*
7 3 斗地主案例
8
9 3.1 案例-模拟斗地主(普通版本)
10 需求
11 通过程序实现斗地主过程中的洗牌,发牌和看牌
12 思路
13 创建一个牌盒,即定义一个集合对象,用ArrayList实现
14 往牌盒里装牌
15 洗牌,即打乱,用工具类Collections的shuffle()实现
16 发牌,即遍历集合,给三个玩家发牌
17 看牌,即三个玩家分别遍历自己的牌
18 */
19 public class PokerDemo {
20 public static void main(String[] args) {
21 ArrayList<String> arrayList = new ArrayList<>();
22
23 String[] colors = {"♦", "♣", "♥", "♠"};
24 String[] numbers = {"2", "3", "4", "5", "6", "7", "8", "9", "J", "Q", "K", "A"};
25
26 for (String color: colors){
27 for (String number: numbers){
28 arrayList.add(color + number);
29 }
30 }
31 arrayList.add("小王");
32 arrayList.add("大王");
33
34 Collections.shuffle(arrayList);
35
36 ArrayList<String> dipai0 = new ArrayList<>();
37 ArrayList<String> player1 = new ArrayList<>();
38 ArrayList<String> player2 = new ArrayList<>();
39 ArrayList<String> player3 = new ArrayList<>();
40
41 for (int i=0; i<arrayList.size(); i++){
42 String poker = arrayList.get(i);
43 if(i >= arrayList.size()-3){
44 dipai0.add(poker);
45 }else if(i%3 == 0){
46 player1.add(poker);
47 }else if(i%3 == 1){
48 player2.add(poker);
49 }else if(i%3 == 2){
50 player3.add(poker);
51 }
52 }
53
54 lookPoker("玩家1", player1);
55 lookPoker("玩家2", player2);
56 lookPoker("玩家3", player3);
57 lookPoker("底牌", dipai0);
58 // System.out.println(arrayList);
59 }
60
61 public static void lookPoker(String name, ArrayList<String> arrayList){
62 System.out.println(name + "的牌:");
63 for (String poker: arrayList){
64 System.out.print(poker + " ");
65 }
66 System.out.println();
67 }
68
69 }