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;
}
}