模拟斗地主洗牌发牌,并对已发好的拍进行排序(红桃A,方块A, 黑桃2.......)

java:模拟斗地主洗牌发牌,并对已发好的拍进行排序(红桃A,方块A, 黑桃2…)

package com.practice;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.TreeSet;

public class Demo3 {
public static void main(String[] args) {
String[] nums = {“A”,“2”,“3”,“4”,“5”,“6”,“7”,“8”,“9”,“10”,“J”,“Q”,“K”};
String[] colors = {“红桃”,“黑桃”,“梅花”,“方片”};

    ArrayList<Poker> list = new ArrayList<Poker>();
    int index = 0;
    for(String num : nums){
        for(String color :colors){
            String str=color+num;
            Poker poker=new Poker(str,index++);
            list.add(poker);
        }
    }
    list.add(new Poker("大王",index++));
    list.add(new Poker("小王",index++));

    Collections.shuffle(list);

    Comparator<Poker> comparator = new Comparator<Poker>(){

        @Override
        public int compare(Poker o1, Poker o2) {

            return o1.getScore()-o2.getScore();
        }
    };
    TreeSet<Poker> person1 = new TreeSet<Poker>(comparator);
    TreeSet<Poker> person2 = new TreeSet<Poker>(comparator);
    TreeSet<Poker> person3 = new TreeSet<Poker>(comparator);
    TreeSet<Poker> dipai = new TreeSet<Poker>(comparator);

    for(int i=0; i<list.size(); i++){
        if(i<51){
            if(i%3==0){
                person1.add(list.get(i));
            }else if(i%3==1){
                person2.add(list.get(i));
            }else{
                person3.add(list.get(i));
            }
        }else{
            dipai.add(list.get(i));
        }
    }
    System.out.println(person1);
    System.out.println(person2);
    System.out.println(person3);
    System.out.println(dipai);

}

}
class Poker {

private String name;
private int score;
public Poker(String name, int score) {
    super();
    this.name = name;
    this.score = score;
}
public String getName() {
    return name;
}
public int getScore() {
    return score;
}
@Override
public String toString() {
    return name;
}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值