打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
简单代码实现随机洗牌发牌

扑克牌洗牌发牌的实现原理很简单,使用4种花色和13个数字组合成52张牌,放进一个集合中;通过把集合数据排序打乱实现洗牌操作,然后在通过循环把牌抽出来实现发牌操作。废话不多说,直接看代码吧

下面是实现代码:

1 import java.util.ArrayList;

2 import java.util.Collections;

3  

4 public class Card {

5  private static ArrayList<String> list = new ArrayList<>();

6  private static String[] colors = {"黑桃","红桃","梅花","方块"};

7  private static String[] nums = {"A","2","3","4","5","6","7","8","9","10","J","Q","K"};

8  private static String[] jokers = {"Joker","joker"}; //大小王

9  private static ArrayList<String> A = new ArrayList<>(); //小人A

10  private static ArrayList<String> B = new ArrayList<>(); //小人B

11  private static ArrayList<String> C = new ArrayList<>(); //小人C

12  private static ArrayList<String> D = new ArrayList<>(); //小人D

13 

14  //初始化扑克牌

15  public static void initCards(boolean need){

16    for(String color:colors){

17      for (String num:nums) {

18        list.add(color + num);

19     }

20    }

21    //是否添加大小王

22    if (need) {

23      list.add(jokers[0]);

24      list.add(jokers[1]);

25    }

26  }

27 

28  //洗牌

29  public static void xiPai(){

30    Collections.shuffle(list);

31  }

32 

33  //性感荷官,在线发牌

34  public static void faPai(){

35    A.clear();

36    B.clear();

37    C.clear();

38    D.clear();

39    for (int i = 0; i < list.size();i++) {

40      if (i%4 == 0) {

41        A.add(list.get(i));

42      }

43      if (i%4 == 1) {

44        B.add(list.get(i));

45      }

46      if (i%4 == 2) {

47        C.add(list.get(i));

48      }

49      if (i%4 == 3) {

50        D.add(list.get(i));

51      }

52    }

53  }

54 

55  //主方法

56 public static void main(String args[]){

57    initCards(true);

58    xiPai();

59    faPai();

60    System.out.print("小人A" + A + "\n");

61    System.out.print("小人B" + B + "\n");

62    System.out.print("小人C" + C + "\n");

63    System.out.print("小人D" + D + "\n");

64  }

65 }

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
java小案例之斗地主发牌
day18
java常用集合类详解(有例子,集合类糊涂的来看!) .
java.util.ArrayList排序示例
如何生成100个1
获得手机通讯录联系人信息
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服