本文实例为大家分享了Java实现斗地主的具体代码,供大家参考,具体内容如下
package com.westos.chinesePoker; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Set; import java.util.TreeSet; /** *加强版的斗地主 EnhancedVersion *在version1.0的基础上加入扑克排序. * @author 虎虎 * @version 2.0 */ public class ChinesePokerEnhanced { public static void main(String[] args) { //0-53代表每个对应的扑克 Map<Integer, String> map = new HashMap<Integer,String>(); List<String> list = new ArrayList<>(); String[] color = {"♥","♠","♣","◆"}; String[] num = {"A","2","3","4","5","6","7","8","9","10","J","Q","K"}; for(String str:num) { for(String str1:color) { String poker = str1.concat(str); list.add(poker); } } list.add("♀"); list.add("♂"); for(int i=0;i<54;i++) { map.put(i, list.get(i)); } Set<Integer> keyset = map.keySet(); List<Integer> list1 = new ArrayList<>(); for(Integer count:keyset){ list1.add(count); } //洗牌三次 Collections.shuffle(list1); Collections.shuffle(list1); Collections.shuffle(list1); Set<Integer> player01 = new TreeSet<>(); Set<Integer> player02 = new TreeSet<>(); Set<Integer> player03 = new TreeSet<>(); Set<Integer> dipai = new TreeSet<>(); //发牌 for(int i=0;i<list1.size();i++) { if(i<51&&i%3 == 0) { player01.add(list1.get(i)); } if(i<51&&i%3 == 1) { player02.add(list1.get(i)); } if(i<51&&i%3 == 2) { player03.add(list1.get(i)); }if(i>=51) dipai.add(list1.get(i)); } //玩家一的牌 System.out.println("玩家一:"); for(Integer i:player01) { System.out.print(map.get(i)+" "); } System.out.println("\n玩家二:"); //玩家二的牌 for(Integer i:player02) { System.out.print(map.get(i)+ " "); } System.out.println("\n玩家三:"); //玩家三的牌 for(Integer i:player03) { System.out.print(map.get(i)+ " "); } System.out.println("\n底牌:"); //玩家一的牌 for(Integer i:dipai) { System.out.print(map.get(i)+ " "); } } }
更多精彩游戏,请参考专题《java经典小游戏》
以上就是本文的全部内容,希望对大家的学习有所帮助
您可能感兴趣的文章:
相关文章推荐
- Java中使用HashMap,TreeSet和List来实现模拟斗地主的洗牌和发牌的小例子
- java 利用集合实现斗地主算法
- 黑马程序员_Java实现斗地主发牌
- Java实现斗地主小程序源码、Java swing斗地主源码
- java实现斗地主
- java实现斗地主发牌系统
- Java 实现斗地主扑克牌排序
- Java集合实现斗地主功能
- java模拟实现斗地主发牌小程序
- Java开发工具_Eclipse中继承抽象类或者实现接口的简化
- java用ArrayList集合来实现斗地主发牌案例
- 斗地主JAVA简要实现
- Java 集合实现 斗地主洗牌和发牌,看牌
- Java之Struts——实现Struts配置文件的简化
- Java实现斗地主发牌过程
- Java模拟实现斗地主功能
- 实现斗地主发牌(java)
- Java技巧:用匿名类来实现简化程序调试
- Java实现斗地主发牌
- 【Java学习笔记】16.TreeMap集合实现斗地主洗牌发牌