package com.practice_1;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.TreeSet;
//
public class Pokers {
public static void main(String[] args) {
//创建一个HashMap集合
HashMap<Integer, String> pokers = new HashMap<Integer,String>();
//创建花色数组
String[] colors = {"♥","♠","♣","♦"};
//创建点数数组
String[] numbers = {"3","4","5","6","7","8","9","10","J","Q","K","A","2"};
//创建一副牌 花色+点数
int count = 0;
//创建一个存储索引的ArrayList集合
ArrayList<Integer> indexs = new ArrayList<Integer>();
for (int i = 0; i < numbers.length; i++) {
for (int j = 0; j < colors .length; j++) {
pokers.put(count, colors[j]+numbers[i]);
indexs.add(count);
count++;
}
}
indexs.add(count);
pokers.put(count, "小王");
count++;
indexs.add(count);
pokers.put(count, "大王");
//洗牌,洗的是编号
Collections.shuffle(indexs);
//发牌,发的是编号
//创建四个TreeSet集合分别存储三个人的牌和底牌编号
//(因为TreeSet集合是有序的,可以保证拿到的编号按从小到大排)
TreeSet<Integer> zhangsan = new TreeSet<Integer>();
TreeSet<Integer> lisi = new TreeSet<Integer>();
TreeSet<Integer> wanger = new TreeSet<Integer>();
TreeSet<Integer> dipai = new TreeSet<Integer>();
for (int i = 0; i < indexs.size(); i++) {
if(i>=indexs.size()-3){
dipai.add(indexs.get(i));
}else if(i%3==0){
zhangsan.add(indexs.get(i));
}else if(i%3==1){
lisi.add(indexs.get(i));
}else if(i%3==2){
wanger.add(indexs.get(i));
}
}
System.out.println(zhangsan);
//看牌,通过拿到的索引去pokers集合中找到对应的牌
lookpokers("张三",zhangsan,pokers);
lookpokers("李四",lisi,pokers);
lookpokers("王二",wanger,pokers);
lookpokers("底牌",dipai,pokers);
}
private static void lookpokers(String name, TreeSet<Integer> ts,
HashMap<Integer, String> pokers) {
System.out.print(name+"的牌是:");
for (Integer index : ts) {
System.out.print(pokers.get(index)+" ");
}
System.out.println();
}
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.TreeSet;
//
public class Pokers {
public static void main(String[] args) {
//创建一个HashMap集合
HashMap<Integer, String> pokers = new HashMap<Integer,String>();
//创建花色数组
String[] colors = {"♥","♠","♣","♦"};
//创建点数数组
String[] numbers = {"3","4","5","6","7","8","9","10","J","Q","K","A","2"};
//创建一副牌 花色+点数
int count = 0;
//创建一个存储索引的ArrayList集合
ArrayList<Integer> indexs = new ArrayList<Integer>();
for (int i = 0; i < numbers.length; i++) {
for (int j = 0; j < colors .length; j++) {
pokers.put(count, colors[j]+numbers[i]);
indexs.add(count);
count++;
}
}
indexs.add(count);
pokers.put(count, "小王");
count++;
indexs.add(count);
pokers.put(count, "大王");
//洗牌,洗的是编号
Collections.shuffle(indexs);
//发牌,发的是编号
//创建四个TreeSet集合分别存储三个人的牌和底牌编号
//(因为TreeSet集合是有序的,可以保证拿到的编号按从小到大排)
TreeSet<Integer> zhangsan = new TreeSet<Integer>();
TreeSet<Integer> lisi = new TreeSet<Integer>();
TreeSet<Integer> wanger = new TreeSet<Integer>();
TreeSet<Integer> dipai = new TreeSet<Integer>();
for (int i = 0; i < indexs.size(); i++) {
if(i>=indexs.size()-3){
dipai.add(indexs.get(i));
}else if(i%3==0){
zhangsan.add(indexs.get(i));
}else if(i%3==1){
lisi.add(indexs.get(i));
}else if(i%3==2){
wanger.add(indexs.get(i));
}
}
System.out.println(zhangsan);
//看牌,通过拿到的索引去pokers集合中找到对应的牌
lookpokers("张三",zhangsan,pokers);
lookpokers("李四",lisi,pokers);
lookpokers("王二",wanger,pokers);
lookpokers("底牌",dipai,pokers);
}
private static void lookpokers(String name, TreeSet<Integer> ts,
HashMap<Integer, String> pokers) {
System.out.print(name+"的牌是:");
for (Integer index : ts) {
System.out.print(pokers.get(index)+" ");
}
System.out.println();
}
}