A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

package com.itheima1;

import java.util.ArrayList;
import java.util.Collections;

/*
* 斗地主
* ♠♥♦♣
* ☺☻
*
* 准备牌ArrayList<String>
*                 花色集合 ♠♥♦♣
*                 数字集合2-10  AJQK
*                 加入大小王
*
* 洗牌 将ArrayList牌打乱元素顺序
*                 Collections类的静态方法
*                 public static void shuffle(List<?> list)  将集合内容打乱顺序
*
* 发牌 将牌依次发给三个玩家,每个玩家都是一个ArrayList<String>,最后留3张放到底牌的ArrayList<String>中
* 看牌   直接打印三个玩家集合和底牌
*
*/
public class Poker {
        public static void main(String[] args) {
               
//        思路:
//                1:买排
//                2:洗牌
//                3:发牌
//                4:看牌
                //1:买牌
                //创建四个ArrayList集合,存放♠♥♦♣  3-10   J,Q,K,A,2   还有大小王
                //创建poker集合
                ArrayList<String> pokers = new ArrayList<>();
               
                //花色集合
                ArrayList<String> list1 = new ArrayList<String>();
                list1.add("♠");
                list1.add("♥");
                list1.add("♦");
                list1.add("♣");
       
                //创建存放3-10的集合,以及JQKA2
                ArrayList<String> number = new ArrayList<>();
                for (int i = 3; i <= 10; i++) {
                        number.add(i + "");
                }
                number.add("J");
                number.add("Q");
                number.add("K");
                number.add("A");
                number.add("2");
               
                //创建除大小王外的扑克牌
                for (int i = 0; i < number.size(); i++) {
                        String a = number.get(i);
                        for (int j = 0; j < list1.size(); j++) {
                                String poker = a + list1.get(j);
                                pokers.add(poker);
                        }
                }
                pokers.add("☺");
                pokers.add("☻");
               
//                System.out.println(pokers);
//                System.out.println(pokers.size());
               
//                2:洗牌
//                        思路:shuffle
                Collections.shuffle(pokers);        //collections是操作单列集合的工具类,里面包含有shuffle()方法                shuffle就是洗牌的意思
//                System.out.println(pokers);                //coleection是单列集合的顶层接口,里面定义了整个单列集合体系的共性内容
               
                //3:发牌
                //思路:
                //        第一个人        0         3                i%3==0
                //        第二个人        1        4                i%3==1
                //        第三个人        2        5                i%3==2
                //        底牌: 53,52,51
                ArrayList<String> Person1 = new ArrayList<>();
                ArrayList<String> Person2 = new ArrayList<>();
                ArrayList<String> Person3 = new ArrayList<>();
                ArrayList<String> diPai = new ArrayList<>();
        /*        for (int i = 0; i < pokers.size(); i++) {
                        if(i > 50) {
                                String diPai = pokers.get(i);
                        }
                        if(i%3==0) {
                                String Person1 = pokers.get(i);
                        }else if(i%3==1) {
                                String Person2 = pokers.get(i);
                        }else {
                                String Person3 = pokers.get(i);
                        }
                }*/
               
               
                //优化后
                for (int i = 0; i < pokers.size(); i++) {
                        String pokerCard = pokers.get(i);
                        if(i > 50) {
                                diPai.add(pokerCard);
                        }else if(i%3==0) {
                                Person1.add(pokerCard);
                        }else if(i%3==1) {
                                Person2.add(pokerCard);
                        }else {
                                Person3.add(pokerCard);
                        }
                }
               
                //看牌
                //思路:
                //        打印
                System.out.println(Person1);
                System.out.println(Person2);
                System.out.println(Person3);
                System.out.println(diPai);
               
        }
       
       
}

评分

参与人数 1黑马币 +3 收起 理由
r1503882525 + 3 赞一个!

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马