溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Java如何實現(xiàn)撲克牌洗牌和發(fā)牌

發(fā)布時間:2021-03-11 16:30:36 來源:億速云 閱讀:156 作者:TREX 欄目:編程語言

這篇文章主要講解了“Java如何實現(xiàn)撲克牌洗牌和發(fā)牌”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Java如何實現(xiàn)撲克牌洗牌和發(fā)牌”吧!

Java是什么

Java是一門面向?qū)ο缶幊陶Z言,可以編寫桌面應(yīng)用程序、Web應(yīng)用程序、分布式系統(tǒng)和嵌入式系統(tǒng)應(yīng)用程序。

實現(xiàn)原理:使用4種花色和13個數(shù)字組合成52張牌,放進(jìn)一個集合中;通過把集合數(shù)據(jù)排序打亂實現(xiàn)洗牌操作,然后在通過循環(huán)把牌抽出來實現(xiàn)發(fā)牌操作。

下面是實現(xiàn)代碼:

import java.util.ArrayList;
import java.util.Collections;

public class Card {
  private static ArrayList<String> list = new ArrayList<>();
  private static String[] colors = {"黑桃","紅桃","梅花","方塊"};
  private static String[] nums = {"A","2","3","4","5","6","7","8","9","10","J","Q","K"};
  private static String[] jokers = {"Joker","joker"}; //大小王
  private static ArrayList<String> A = new ArrayList<>(); //小人A
  private static ArrayList<String> B = new ArrayList<>(); //小人B
  private static ArrayList<String> C = new ArrayList<>(); //小人C
  private static ArrayList<String> D = new ArrayList<>(); //小人D

  //初始化撲克牌
  public static void initCards(boolean need){
    for(String color:colors){
      for (String num:nums) {
        list.add(color + num);
      }
    }
    //是否添加大小王
    if (need) {
      list.add(jokers[0]);
      list.add(jokers[1]);
    }
  }

  //洗牌
  public static void xiPai(){
    Collections.shuffle(list);
  }

  //性感荷官,在線發(fā)牌
  public static void faPai(){
    A.clear();
    B.clear();
    C.clear();
    D.clear();
    for (int i = 0; i < list.size();i++) {
      if (i%4 == 0) {
        A.add(list.get(i));
      }
      if (i%4 == 1) {
        B.add(list.get(i));
      }
      if (i%4 == 2) {
        C.add(list.get(i));
      }
      if (i%4 == 3) {
        D.add(list.get(i));
      }
    }
  }

  //主方法
  public static void main(String args[]){
    initCards(true);
    xiPai();
    faPai();
    System.out.print("小人A" + A + "\n");
    System.out.print("小人B" + B + "\n");
    System.out.print("小人C" + C + "\n");
    System.out.print("小人D" + D + "\n");
  }
}

下面是運(yùn)行結(jié)果

Java如何實現(xiàn)撲克牌洗牌和發(fā)牌

感謝各位的閱讀,以上就是“Java如何實現(xiàn)撲克牌洗牌和發(fā)牌”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對Java如何實現(xiàn)撲克牌洗牌和發(fā)牌這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI