最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java模擬斗地主發(fā)牌功能

 更新時間:2020年10月29日 08:58:48   作者:Zyt119977  
這篇文章主要為大家詳細介紹了java模擬斗地主發(fā)牌,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了java模擬斗地主發(fā)牌的具體代碼,供大家參考,具體內容如下

1.案例介紹

規(guī)則:

  • 組裝54張撲克牌
  • 54張牌順序打亂
  • 三個玩家參與游戲,三人交替摸牌,每人17張牌,后三張留作底牌
  • 查看三人各自手中的牌(按照牌的大小排序)、底牌

2. 分析

1)、準備牌:

完成數(shù)字與紙牌的映射關系:
使用雙列Map(HashMap)集合,完成一個數(shù)字與字符串紙牌的對應關系(相當于一個字典)。

2)、洗牌:

通過數(shù)字完成洗牌發(fā)牌
發(fā)牌: 將每個人以及底牌設計為ArrayList,將后3張牌直接存放于底牌,剩余牌通過對3取模依次發(fā)牌。
存放的過程中要求數(shù)字大小與斗地主規(guī)則的大小對應。
將代表不同紙牌的數(shù)字分配給不同的玩家與底牌。

3)、看牌:

通過Map集合找到對應字符展示。
通過查詢紙牌與數(shù)字的對應關系,由數(shù)字轉成紙牌字符串再進行展示。

3.代碼

public class Test7 {
 public static void main(String[] args) {
  //定義一個Map集合和List集合來存取牌號和索引
  Map<Integer, String> map = new HashMap();

  List<Integer> pokerindex = new ArrayList<>();

  //定義牌
  String[] num = {"3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K", "A", "2"};
  String[] color = {"♥", "♠", "♣", "♦"};

  //存牌號和與之對應的索引
  int index = 0;
  for (String s : num) {
   for (String c : color) {
    map.put(index, c + s);
    pokerindex.add(index);
    index++;
   }
  }
  //存大小王
  map.put(index, "大王");
  pokerindex.add(index);
  index++;
  map.put(index, "小王");
  pokerindex.add(index);

  //打亂牌組;
  Collections.shuffle(pokerindex);

  //創(chuàng)建四個集合
  List<Integer> dipai = new ArrayList<>();
  List<Integer> player1 = new ArrayList<>();
  List<Integer> player2 = new ArrayList<>();
  List<Integer> player3 = new ArrayList<>();
  //將打亂的索引數(shù)組分配給三個人
  for (int i = 0; i < pokerindex.size(); i++) {
   if (i > 50) {
    dipai.add(pokerindex.get(i));
   } else if (i % 3 == 0) {
    player1.add(pokerindex.get(i));
   } else if (i % 3 == 2) {
    player2.add(pokerindex.get(i));
   } else if (i % 3 == 1) {
    player3.add(pokerindex.get(i));
   }
  }
  //給每個人的牌組排序
  Collections.sort(player1);
  Collections.sort(player2);
  Collections.sort(player3);
  Collections.sort(dipai);
  //顯示每個人的牌組
  show("張三", map, player1);
  show("李四", map, player2);
  show("王五", map, player3);
  show("底牌", map, dipai);


 }

 //定義一個方法用來顯示牌組
 public static void show(String name, Map<Integer, String> map, List<Integer> player) {
  System.out.print(name);
  for (int i = 0; i < player.size(); i++) {
   Integer ii = player.get(i);
   System.out.print(map.get(ii) + " ");
  }
  System.out.println();
 }
}

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

相關文章

  • Java中Lambda表達式并行與組合行為

    Java中Lambda表達式并行與組合行為

    這篇文章主要介紹了Java中Lambda表達式并行與組合行為,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-02-02
  • 基于JavaMail的Java實現(xiàn)簡單郵件發(fā)送功能

    基于JavaMail的Java實現(xiàn)簡單郵件發(fā)送功能

    這篇文章主要為大家詳細介紹了基于JavaMail的Java實現(xiàn)簡單郵件發(fā)送功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • springmvc處理響應數(shù)據(jù)的解析

    springmvc處理響應數(shù)據(jù)的解析

    今天小編就為大家分享一篇關于springmvc處理響應數(shù)據(jù)的解析,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • java與C 代碼運行效率的對比(整理)

    java與C 代碼運行效率的對比(整理)

    最近和朋友無意間討論起了 有關java 和C 的 效率問題, (我是java 推介者, 他是 c 語言推介者, 他做的是嵌入式)故,想通過網(wǎng)絡查詢一下, 總結一下,兩者到底效率如何,其有何差異,原因又是啥?各種優(yōu)勢有在何處?
    2021-04-04
  • Java與Http協(xié)議的詳細介紹

    Java與Http協(xié)議的詳細介紹

    這篇文章主要介紹了Java與Http協(xié)議的詳細介紹的相關資料,這里提供實例來幫助大家學習理解這部分內容,需要的朋友可以參考下
    2017-09-09
  • Java框架設計靈魂之反射的示例詳解

    Java框架設計靈魂之反射的示例詳解

    反射就是把Java類中的各個成員映射成一個個的Java對象。本文將通過示例為大家詳細講解Java框架設計的靈魂:反射,感興趣的可以了解一下
    2022-06-06
  • 帶你了解10道java入門面試題

    帶你了解10道java入門面試題

    面試題相信大家都不陌生,想要一個好的工作面試題必不可少的,下面和小編一起來學習與了解Java當中有有些什么面試題吧,希望能給你帶來幫助
    2021-08-08
  • 一篇文章帶你玩轉Spring bean的終極利器

    一篇文章帶你玩轉Spring bean的終極利器

    這篇文章主要給大家介紹了關于玩轉Spring bean的終極利器的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用spring bean具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-05-05
  • 深入理解springMVC中的Model和Session屬性

    深入理解springMVC中的Model和Session屬性

    這篇文章主要介紹了深入理解springMVC中的Model和Session屬性,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • Springboot創(chuàng)建時常用的依賴詳解

    Springboot創(chuàng)建時常用的依賴詳解

    本文介紹了Spring?Boot項目中常用依賴的配置及作用,涵蓋了父依賴、Web應用、測試、數(shù)據(jù)庫、MyBatis、連接池、JSON處理、Lombok、AOP、校驗、監(jiān)控、工具包、打包配置、多配置文件以及熱部署等
    2025-03-03

最新評論

汕头市| 苍梧县| 合水县| 团风县| 美姑县| 类乌齐县| 吐鲁番市| 桐柏县| 田林县| 始兴县| 仙游县| 舞阳县| 德兴市| 宿松县| 柘荣县| 新泰市| 乐陵市| 南昌市| 和硕县| 喀喇沁旗| 彩票| 红安县| 调兵山市| 尼勒克县| 谢通门县| 南召县| 报价| 大关县| 嘉定区| 嘉峪关市| 广安市| 武乡县| 江安县| 卓资县| 新宁县| 河东区| 兖州市| 吉木乃县| 丽水市| 囊谦县| 柘城县|