日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java中使用HashMap,TreeSet和List来实现模拟斗地主的洗牌和发牌的小例子

發布時間:2025/3/20 java 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java中使用HashMap,TreeSet和List来实现模拟斗地主的洗牌和发牌的小例子 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?模擬斗地主洗牌,發牌
?使用HashMap,TreeSet和List來實現

效果如下圖所示:


詳細實現代碼如下:

package star.july.tags;import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.TreeSet;/*** 模擬斗地主洗牌,發牌* 使用HashMap,TreeSet和List來實現* @author Starjuly**/ public class Poker {public static void main(String[] args) {//先把牌設置好String[] num = {"3","4","5","6","7","8","9","10","J","Q","K","A","2"};String[] size = {"方塊","梅花","紅桃","大葵"};HashMap<Integer, String> hm = new HashMap<Integer,String>();ArrayList<Integer> list = new ArrayList<Integer>(); int index = 0;//裝牌for(String s1 : num){for(String s2 : size){hm.put(index,s2.concat(s1));list.add(index);index++;}}//裝大王和小王hm.put(index, "小王");list.add(index);index++;hm.put(index, "大王");list.add(index);//洗牌:將集合中的順序打亂Collections.shuffle(list);//定義玩家和底牌TreeSet<Integer> GaoJin = new TreeSet<Integer>();TreeSet<Integer> LongWu = new TreeSet<Integer>();TreeSet<Integer> Me = new TreeSet<Integer>();TreeSet<Integer> DiPai = new TreeSet<Integer>();//將牌發給玩家和留3張底牌for(int i = 0 ; i < list.size() ; i++){if(i >= list.size() - 3){DiPai.add(list.get(i));}else if( i % 3 == 0){GaoJin.add(list.get(i));}else if( i % 3 == 1){LongWu.add(list.get(i));}else{Me.add(list.get(i));}}//遍歷每個玩家手中的牌lookPoker(hm, GaoJin, "高進");lookPoker(hm, LongWu, "龍五");lookPoker(hm, Me, "自己");lookPoker(hm, DiPai, "底牌");}public static void lookPoker(HashMap<Integer, String> hm , TreeSet<Integer> ts,String name){System.out.print(name + " 手中的牌: ");for(Integer i : ts){ //用增強for循環遍歷TreeSet集合String poker = hm.get(i); //通過key找到HashMap中的值System.out.print(poker + " ");}System.out.println();} }

總結

以上是生活随笔為你收集整理的Java中使用HashMap,TreeSet和List来实现模拟斗地主的洗牌和发牌的小例子的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。