package Pokers;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.TreeSet;
public class PokerUp {
public static void main(String[] args) {
//牌盒
HashMap<Integer,String> hm=new HashMap<Integer, String>();
//编号
ArrayList<Integer> num=new ArrayList<Integer>();
//花色 数值
//♦ ♣ ♥ ♠
//2,3,4,5,6,7,8,9,10,J,Q,K,A
String[] colors={"♦","♣","♥","♠"};
String[] numbers={"3","4","5","6","7","8","9","10","J","Q","K","A","2"};
int h=-1;
for (int j=0;j<numbers.length;j++){
for (int i=0;i<colors.length;i++){
h++;
num.add(h);
hm.put(h,colors[i]+numbers[j]);
}
}
h++;
num.add(h);
hm.put(h,"小王");
h++;
num.add(h);
hm.put(h,"大王");
//洗牌
Collections.shuffle(num);
//发牌
TreeSet<Integer> hh = new TreeSet<Integer>();
TreeSet<Integer> ff = new TreeSet<Integer>();
TreeSet<Integer> ll = new TreeSet<Integer>();
TreeSet<Integer> dpPoker = new TreeSet<Integer>();
for (int i = 0; i < num.size(); i++) {
int n = num.get(i);
if (i >= num.size() - 3) {
dpPoker.add(n);
} else if (i % 3 == 0) {
hh.add(n);
} else if (i % 3 == 1) {
ff.add(n);
} else if (i % 3 == 2) {
ll.add(n);
}
}
//看牌
lookPoker(hm, "hh", hh);
lookPoker(hm, "ff", ff);
lookPoker(hm, "ll", ll);
lookPoker(hm, "底牌", dpPoker);
// System.out.println(num);
// System.out.println(hm);
}
public static void lookPoker(HashMap<Integer,String> hm,String name,TreeSet<Integer> ts){
System.out.println(name+"的牌为:");
for (Integer in:ts){
String s = hm.get(in);
System.out.print(s+" ");
}
System.out.println();
}
}
升级版斗地主
最新推荐文章于 2024-10-12 17:55:45 发布
这个Java程序创建了一个扑克牌 deck,并进行了洗牌操作,然后将牌平均分配给三个玩家和底牌。程序使用HashMap存储牌,ArrayList记录编号,通过TreeSet进行牌的管理。最后,程序打印出每个玩家和底牌的牌面。
摘要由CSDN通过智能技术生成