package MyProject.DouDiZhu;import java.util.*;public class MoNiDouDizhuB {public static void main(String[] args) {//创建一个牌盒HashMap<Integer, String> pukerHsMap = new HashMap<Integer, String>();//向牌盒里装牌/*♥2 ♠3 ♣4 ♦5花色:♥ ♠ ♣ ♦牌面:3 4 5 6 7 8 9 10 J Q K A 2*///定义牌色数组:String[] pukerColor = {"♥", "♠", "♣", "♦"};//定义牌面值:String[] pukerSize = {"3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K", "A", "2"};//生成扑克牌,并把牌的对应该关系存到ArrayList用于洗牌,同时装进牌盒ArrayList<Integer> pukerTemp = new ArrayList<>();int ii = 0;for (String size : pukerSize) { //这时先遍历牌值,在遍历花色,才是后面排序的前提for (String color : pukerColor) {String puker = color + size;pukerHsMap.put(ii, puker);pukerTemp.add(ii);ii++;}}pukerHsMap.put(ii, "小王");pukerTemp.add(ii);ii++;pukerHsMap.put(ii, "大王");pukerTemp.add(ii);//装牌进盒//洗牌Collections.shuffle(pukerTemp); //对索引取随机排列,
/* for (Integer index : pukerTemp) { // 利用随机后的排列,去map中找牌String pukerCode = pukerHsMap.get(index);System.out.print(pukerCode);}*///定义四个玩家,采用TreeSet(),他能对牌进行排序,拿到的依然是牌的索引TreeSet<Integer> playerA = new TreeSet<>();TreeSet<Integer> playerB = new TreeSet<>();TreeSet<Integer> playerC = new TreeSet<>();TreeSet<Integer> playerD = new TreeSet<>();//发牌for (int i = 0; i < pukerTemp.size(); i++) {if (i >= pukerTemp.size() - 3) {Integer keyD = pukerTemp.get(i);playerD.add(keyD);} else if (i % 3 == 0) {Integer pukerA = pukerTemp.get(i);playerA.add(pukerA);} else if (i % 3 == 1) {Integer pukerB = pukerTemp.get(i);playerB.add(pukerB);} else if (i % 3 == 2) {Integer pukerC = pukerTemp.get(i);playerC.add(pukerC);}}//看牌:lookPuker("张某某", playerA, pukerHsMap);lookPuker("李某某", playerB, pukerHsMap);lookPuker("王某某", playerC, pukerHsMap);lookPuker("底 牌", playerD, pukerHsMap);}public static void lookPuker(String name, TreeSet<Integer> treeSet, HashMap<Integer, String> hs) {System.out.print(name + "的牌是:");for (Integer ss : treeSet) {String sss = hs.get(ss);System.out.print(sss + " ");}System.out.println();}
}
张某某的牌是:♥3 ♣3 ♣4 ♦4 ♣6 ♦7 ♠9 ♦9 ♥10 ♠10 ♥K ♠K ♠A ♥2 ♠2 ♦2 小王
李某某的牌是:♥4 ♠5 ♣5 ♦6 ♠7 ♣7 ♠8 ♣8 ♦8 ♣9 ♣10 ♥J ♦J ♦Q ♣K ♥A ♦A
王某某的牌是:♠3 ♠4 ♥5 ♦5 ♥6 ♠6 ♥7 ♥8 ♥9 ♦10 ♠J ♣J ♠Q ♣Q ♣A ♣2 大王
底 牌的牌是:♦3 ♥Q ♦K
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态