Java斗地主案列分析

在这里插入图片描述

package CardGame;

public class Card {
    
    
    private String  size;//点数
    private String  color;//花色
    private int point;//用来比较大小

    public Card(String size, String color, int point) {
    
    
        this.size = size;
        this.color = color;
        this.point = point;
    }

    public int getPoint() {
    
    
        return point;
    }

    public void setPoint(int point) {
    
    
        this.point = point;
    }

    public Card() {
    
    
    }


    public String getSize() {
    
    
        return size;
    }

    public void setSize(String size) {
    
    
        this.size = size;
    }

    public String getColor() {
    
    
        return color;
    }

    public void setColor(String color) {
    
    
        this.color = color;
    }

    @Override
    public String toString() {
    
    
        return  size + color;
    }
}
package CardGame;

import java.util.*;

public class Test {
    
    
    private static List<Card> cards=new ArrayList<>();

    static {
    
    
        int point=0;
        String[] sizes={
    
    "3","4","5","6","7","8","9","10","J","Q","K","A","2"};
        String[] colors={
    
    "♦️","♥️","♠️","♣️"};
        for (String size : sizes) {
    
    
            point++;
            for (String color : colors) {
    
    
                Card c=new Card(size,color,point);
                cards.add(c);
            }
        }
        Card c2=new Card("","小王",++point);
        Card c1=new Card("","大王",++point);
        Collections.addAll(cards,c1,c2);
    }

    public static void main(String[] args) {
    
    
        //洗牌
        Collections.shuffle(cards);
        System.out.println(cards);
        //发牌.定义三个玩家
        List<Card> user1=new ArrayList<>();
        List<Card> user2=new ArrayList<>();
        List<Card> user3=new ArrayList<>();
        for (int i = 0; i < cards.size()-3; i++) {
    
    
            Card cc=cards.get(i);
            if (i%3==0){
    
    
                user1.add(cc);
            } else if (i%3==1) {
    
    
                user2.add(cc);
            }else if (i%3==2){
    
    
                user3.add(cc);
            }
        }
        //拿到最后三张底牌
        List<Card> lastThree=cards.subList(cards.size()-3,cards.size());

        //给玩家的牌排序
        Collections.sort(user1, (Card o1, Card o2) -> o2.getPoint()-o1.getPoint());
        Collections.sort(user2, (Card o1, Card o2) -> o2.getPoint()-o1.getPoint());
        Collections.sort(user3, (Card o1, Card o2) -> o2.getPoint()-o1.getPoint());


        //输出玩家的牌
        System.out.println(user1);
        System.out.println(user2);
        System.out.println(user3);
    }

    private static void sortcard(List<Card> list) {
    
    
        Collections.sort(list, new Comparator<Card>() {
    
    
            @Override
            public int compare(Card o1, Card o2) {
    
    
                return 0;
            }
        });
    }

}

猜你喜欢

转载自blog.csdn.net/weixin_46002001/article/details/125013713