Java实现斗地主简化版
程序员文章站
2022-06-22 10:50:21
本文实例为大家分享了java实现斗地主的具体代码,供大家参考,具体内容如下package com.westos.chinesepoker;import java.util.arraylist;impo...
本文实例为大家分享了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经典小游戏》
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。