package practise;
import java.util.*;
import java.util.concurrent.Callable;
public class Hash {
public static void main(String[] args) {
//
ArrayList<String> list = new ArrayList<String>();
HashMap<Integer,String> map=new HashMap<Integer,String>();
ArrayList<Integer> num=new ArrayList<Integer>();
//装牌
//花色
String[] colors = {"◇","♣","♥", "♠" };
//数字
String[] numbers = { "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K", "A","2"};
int i=0;
for (String n : numbers) {
for (String s : colors) {
list.add(s + n);
num.add(i);
i++;
}
}
list.add("大王");
num.add(i++);
list.add("小王");
num.add(i++);
//测试
System.out.println(list);
System.out.println(num.size());
//放到map里面
for(int j=0;j<num.size();j++){
map.put(num.get(j),list.get(j));
}
//洗牌
ArrayList<Integer> num1=new ArrayList<Integer>();
Collections.shuffle(num);
//发牌
TreeSet<Integer> player_2 = new TreeSet<Integer>();
TreeSet<Integer> player_1 = new TreeSet<Integer>();
TreeSet<Integer> player_3 = new TreeSet<Integer>();
i=0;
while (i < 50) {
player_1.add(num.get(i));
player_2.add(num.get(i + 1));
player_3.add(num.get(i + 2));
i = i + 3;
}
//看牌
System.out.println("一号玩家的牌");
FaPai(player_1,map);
System.out.println("二号玩家的牌");
FaPai(player_2,map);
System.out.println("三号玩家的牌");
FaPai(player_3,map);
System.out.println("地主牌");
System.out.println(map.get(num.get(51))+" "+map.get(num.get(52))+" "+map.get(num.get(53)));
}
//看牌函数
public static void FaPai(TreeSet<Integer> player,HashMap map){
StringBuilder s=new StringBuilder();
for(Integer I:player){
s.append(map.get(I));
s.append(" ");
}
System.out.println(s);
}
}
java模拟斗地主发牌(代码)
最新推荐文章于 2024-06-18 05:35:11 发布