只使用List集合,不使用其他集合和数组,实现简单的斗地主发牌功能

只使用List集合,不使用其他集合和数组,实现简单的斗地主发牌功能

下面的链接是使用了list map集合完成的简单斗地主的发牌
使用List和Map集合以及数组,实现简单的斗地主发牌功能
这次只使用List集合来尝试完成
代码:

package com.jal;

import java.util.*;
public class Game1 {
    public static void main(String[] args) {

        //保存13张牌数
        List cards=new ArrayList();
        for (int i = 2; i <= 10; i++) {
            cards.add(i);
        }
        cards.add("A");
        cards.add("J");
        cards.add("Q");
        cards.add("K");
        //保存牌颜色
        List<String> colors=new ArrayList<>();
        colors.add("♥");
        colors.add("♠");
        colors.add("♦");
        colors.add("♣");
        //保存所有牌
        List<String> all=new ArrayList<>();
        //把52张牌添加进集合
        for (int i = 0; i < cards.size(); i++) {
            for (int j = 0; j < colors.size(); j++) {
                all.add(colors.get(j)+cards.get(i));
            }
        }
        //添加大小王
        all.add("大王");
        all.add("小王");
        //打乱顺序
        Collections.shuffle(all);

        //三位玩家和底牌
        List p1=new ArrayList<>();
        List p2=new ArrayList<>();
        List p3=new ArrayList<>();
        List bottom=new ArrayList<>();

        //发牌
        for (int i=0;i<all.size();i++){
            //抽出三张作为底牌
            if(i<3){
                bottom.add(all.get(i));

                //剩下的牌平均发给三位玩家
            }else if(i%3==0){
                p1.add(all.get(i));
            }else if(i%3==1){
                p2.add(all.get(i));
            }else{
                p3.add(all.get(i));
            }
        }
        //给牌排序
        Collections.sort(p1);
        Collections.sort(p2);
        Collections.sort(p3);
        Collections.sort(bottom);
        //看牌
        show("Jal",p1);
        show("Tom",p2);
        show("Jack",p3);
        show("底牌",bottom);

    }
    /*
     * 查看手牌
     * */
    private static void show(String name, List list) {
        System.out.print(name+":");

        for (int i = 0; i < list.size(); i++) {

            System.out.print(list.get(i)+" ");
        }
        System.out.println();
    }

}

执行结果:
结果出了点问题,排序效果没按理想效果进行排序
不过无伤大雅
只使用List集合,不使用其他集合和数组,实现简单的斗地主发牌功能_第1张图片

你可能感兴趣的:(java)