package com.yy.test;
import java.util.ArrayList;
import java.util.Collections;
public class Test2 {
/**
* * A:案例演示
* 模拟斗地主洗牌核发牌,牌没有排序
*
* 分析:
* 1,买一副扑克,其实就是自己创建一个集合对象,将扑克牌存储进去
* 2,洗牌 shuffle方法
* 3,发牌
* 4,看牌
* */
public static void main(String[] args) {
String [] num = {"A","2","3","4","5","6","7","8","9","10","J","Q","K"};
String [] color = {"红桃","黑桃","方片","梅花"};
ArrayList<String> poker = new ArrayList<>();
for (String s1 : color) {
for (String s2 : num) {
poker.add(s1.concat(s2));
}
}
poker.add("小王");
poker.add("大王");
Collections.shuffle(poker);
ArrayList<String> 高进 = new ArrayList<>();
ArrayList<String> 龙五 = new ArrayList<>();
ArrayList<String> 谚语 = new ArrayList<>();
ArrayList<String> 底牌 = new ArrayList<>();
for(int i = 0 ;i<poker.size();i++){
if(i >= poker.size() - 3){
底牌.add(poker.get(i));
}else if(i % 3 == 0){
高进.add(poker.get(i));
}else if(i % 3 == 1){
龙五.add(poker.get(i));
}else {
谚语.add(poker.get(i));
}
}
System.out.println(高进);
System.out.println(龙五);
System.out.println(谚语);
System.out.println(底牌);
}
}
package com.yy.test;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.TreeSet;
public class Test3 {
/**
* * A:案例演示
* 模拟斗地主洗牌核发牌,牌没有排序
*
* 分析:
* 1,买一副扑克,其实就是自己创建一个集合对象,将扑克牌存储进去
* 2,洗牌 shuffle方法
* 3,发牌
* 4,看牌
* */
public static void main(String[] args) {
String [] num = {"3","4","5","6","7","8","9","10","J","Q","K","A","2"};
String [] color = {"红桃","黑桃","方片","梅花"};
HashMap<Integer, String> hm = new HashMap<>();
ArrayList<Integer> list = new ArrayList<>();
int index = 0;
for(String s1 : num){
for(String s2 : color){
hm.put(index, s2.concat(s1));
list.add(index);
index++;
}
}
hm.put(index, "小王");
list.add(index);
index++;
hm.put(index, "大王");
list.add(index);
Collections.shuffle(list);
TreeSet<Integer> 高进 = new TreeSet<>();
TreeSet<Integer> 龙五 = new TreeSet<>();
TreeSet<Integer> 谚语 = new TreeSet<>();
TreeSet<Integer> 底牌 = new TreeSet<>();
for(int i = 0; i <list.size();i++){
if(i >= list.size() - 3){
底牌.add(list.get(i));
}else if(i % 3 == 0){
高进.add(list.get(i));
}else if(i % 3 == 1){
龙五.add(list.get(i));
}else {
谚语.add(list.get(i));
}
}
lookPoker(hm,高进,"高进");
lookPoker(hm,龙五,"龙五");
lookPoker(hm,谚语,"谚语");
lookPoker(hm,底牌,"底牌");
}
/**
* 看牌
* 1,返回值类型void
* 2,参数列表HashMap,TreeSet,String name
* */
public static void lookPoker(HashMap<Integer,String> hm , TreeSet<Integer> ts , String name){
System.out.print(name + "的牌是:");
for (Integer i : ts) {
System.out.print(hm.get(i) + " ");
}
System.out.println();
}
}