小编这次要给大家分享的是java如何实现扑克牌分发功能,文章内容丰富,感兴趣的小伙伴可以来了解一下,希望大家阅读完这篇文章之后能够有所收获。
目前创新互联已为上千的企业提供了网站建设、域名、网络空间、网站改版维护、企业网站设计、赣榆网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。实现一个三人斗地主的扑克牌分发功能
思路:
1、准备一组54张的扑克牌
2、洗牌
3、将扑克牌分发到玩家手中
4、查看每个选手中的扑克牌和地主的底牌
思路补充:先创建两个花色和数字的数组,再创建一个List集合,和Map集合,运用双层for循环将花色和数字依次组合成52张扑克牌,之后分别在加添加进Map集合中的value值中,Map中的key值依次用0-51表示,双层for循环的同时将0-51的值依次赋值给List集合中,循环结束后在依次将大王、小王加入Map集合中的value中相对应的key值用52和53表示,还要讲52和53赋值到List集合中,此时所有牌组准备完毕。
分别创建四个新List集合,将存放序号的List集合中的序号打乱后分发到玩家手中,最后留三张底牌,添加到他们对应的List集合中
分别将三位玩家和底牌中的序号集合遍历,遍历出的数值带入到Map中的get方法的key值中,得到相对应得value值(也就是对应的牌),再将value值赋值给玩家手中对应的序号值处。
最后将三位玩家和底牌所对应的List集合输出打印出来即可看到他们被分到的牌。
具体代码如下:
import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Set; public class TestPokerPlus { public static void main(String[] args) { //1.创建扑克牌集合 //创建map集合,类似于字典 和 list序号集合 List list = new ArrayList(); HashMapmap = new HashMap (); //将花色和数字及JQK组合添加进扑克牌集合map中 String[] color = {"♥","♦","♠","♣"}; String[] number = {"3","4","5","6","7","8","9","10","J","Q","K","A","2"}; int num = 0;//计数器思想 for(int i = 0 ;i< number.length;i++){ for(int j = 0 ;j< color.length;j++){ map.put(num,color[j]+number[i]); list.add(num); num++; } } //将序号集合中加入52,53两位序列,为之后map集合中加入“大王”、“小王”做准备 list.add(list.size()); list.add(list.size()); //在加上大王、小王两张牌 map.put(list.size()-2,"小王"); map.put(list.size()-1,"大王"); //2.打乱 //将序号集合打乱 Collections.shuffle(list); //3.分牌 //创建三名玩家和底牌集合 List player1 = new ArrayList(); List player2 = new ArrayList(); List player3 = new ArrayList(); List cards = new ArrayList(); //循环分发序号 for(int i = 0 ;i map,List list) { for(int i = 0;i < list.size();i++){ list.set(i, map.get(list.get(i))); } } }
另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
售后响应及时
7×24小时客服热线数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款