色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

java實現撲克牌分發功能

瀏覽:81日期:2022-09-01 11:41:37

本文實例為大家分享了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(); HashMap<Integer,String> map = new HashMap<Integer,String>(); //將花色和數字及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<list.size();i++){ if(i<list.size()-3){ if(i % 3 == 1){ player1.add(list.get(i)); }else if(i % 3 == 2){ player2.add(list.get(i)); }else{ player3.add(list.get(i)); } }else{ cards.add(list.get(i)); } } //將分的的序號升序排列 Collections.sort(player1); Collections.sort(player2); Collections.sort(player3); Collections.sort(cards); //遍歷將3個玩家和底牌分得的序號集合 對照map集合重新將對應的牌賦值給對應的序號 boardAssignment(map, player1); boardAssignment(map, player2); boardAssignment(map, player3); boardAssignment(map, cards); //4.看牌 //打印輸出三名玩家的牌的底牌 System.out.println(player1); System.out.println(player2); System.out.println(player3); System.out.println(cards); } private static void boardAssignment(HashMap<Integer, String> map,List list) { for(int i = 0;i < list.size();i++){ list.set(i, map.get(list.get(i))); } }}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Java
相關文章:
主站蜘蛛池模板: 97在线免费视频 | 99精品视频在线免费观看 | 免费人成黄页网站在线观看国产 | 欧美高清在线精品一区二区不卡 | 欧美激情综合亚洲五月蜜桃 | 免费亚洲网站 | 三级视频中文字幕 | 亚洲欧美精品一区天堂久久 | 亚洲在线中文 | 一级毛片日韩a欧美 | 中午字幕在线观看 | 丝袜精品 欧美 亚洲 自拍 | 久久久久久青草大香综合精品 | 日韩欧美在线观看一区 | 女人被男人躁得好爽免费文 | 中文字幕中文字幕中中文 | 高清国产一级精品毛片基地 | 97在线视频免费公开观看 | 亚洲视频免| 亚洲第一页视频 | 国产一级特黄aa级特黄裸毛片 | 国产三级免费观看 | 日韩毛片免费在线观看 | 欧美精品黄页免费高清在线 | 天堂成人av| 亚洲人的天堂男人爽爽爽 | 欧美xxxxxxxx| 欧美在线视频免费 | 亚洲人成影院午夜网站 | 久久亚洲成人 | 欧美精品1 | 一级做a爰片久久毛片欧美 一级做a爰片久久毛片人呢 | 亚洲欧美国产18 | 欧美人与鲁交大毛片免费 | 男人添女人下面免费毛片 | 国产人成在线视频 | 亚洲成a人片毛片在线 | 国产aⅴ一区二区 | 亚洲欧美日韩在线精品一区二区 | 日韩欧美精品一区二区 | 美女视频黄色免费 |