小編這次要給大家分享的是java如何實(shí)現(xiàn)撲克牌分發(fā)功能,文章內(nèi)容豐富,感興趣的小伙伴可以來了解一下,希望大家閱讀完這篇文章之后能夠有所收獲。
輪臺ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!
實(shí)現(xiàn)一個三人斗地主的撲克牌分發(fā)功能
思路:
1、準(zhǔn)備一組54張的撲克牌
2、洗牌
3、將撲克牌分發(fā)到玩家手中
4、查看每個選手中的撲克牌和地主的底牌
思路補(bǔ)充:先創(chuàng)建兩個花色和數(shù)字的數(shù)組,再創(chuàng)建一個List集合,和Map集合,運(yùn)用雙層for循環(huán)將花色和數(shù)字依次組合成52張撲克牌,之后分別在加添加進(jìn)Map集合中的value值中,Map中的key值依次用0-51表示,雙層for循環(huán)的同時將0-51的值依次賦值給List集合中,循環(huán)結(jié)束后在依次將大王、小王加入Map集合中的value中相對應(yīng)的key值用52和53表示,還要講52和53賦值到List集合中,此時所有牌組準(zhǔn)備完畢。
分別創(chuàng)建四個新List集合,將存放序號的List集合中的序號打亂后分發(fā)到玩家手中,最后留三張底牌,添加到他們對應(yīng)的List集合中
分別將三位玩家和底牌中的序號集合遍歷,遍歷出的數(shù)值帶入到Map中的get方法的key值中,得到相對應(yīng)得value值(也就是對應(yīng)的牌),再將value值賦值給玩家手中對應(yīng)的序號值處。
最后將三位玩家和底牌所對應(yīng)的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.創(chuàng)建撲克牌集合 //創(chuàng)建map集合,類似于字典 和 list序號集合 List list = new ArrayList(); HashMapmap = new HashMap (); //將花色和數(shù)字及JQK組合添加進(jìn)撲克牌集合map中 String[] color = {"♥","♦","♠","♣"}; String[] number = {"3","4","5","6","7","8","9","10","J","Q","K","A","2"}; int num = 0;//計數(shù)器思想 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集合中加入“大王”、“小王”做準(zhǔn)備 list.add(list.size()); list.add(list.size()); //在加上大王、小王兩張牌 map.put(list.size()-2,"小王"); map.put(list.size()-1,"大王"); //2.打亂 //將序號集合打亂 Collections.shuffle(list); //3.分牌 //創(chuàng)建三名玩家和底牌集合 List player1 = new ArrayList(); List player2 = new ArrayList(); List player3 = new ArrayList(); List cards = new ArrayList(); //循環(huán)分發(fā)序號 for(int i = 0 ;i map,List list) { for(int i = 0;i < list.size();i++){ list.set(i, map.get(list.get(i))); } } }
看完這篇關(guān)于java如何實(shí)現(xiàn)撲克牌分發(fā)功能的文章,如果覺得文章內(nèi)容寫得不錯的話,可以把它分享出去給更多人看到。