模拟斗地主发牌

import java.util.ArrayList;

import java.util.Collections;

public class GameTest {

public static void main(String[] args) {

//买牌,即创建牌

String [] arr = {"黑桃","红桃","方片","梅花"};

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

//创建集合对象,存储

ArrayList<String> box = new ArrayList<String>();

//遍历数组,进行添加

for (int i = 0; i < arr.length; i++) {

//获取每一个花色

for (int j = 0; j < arr2.length; j++) {

//获取每一个数

//添加进牌的集合

box.add(arr[i]+arr2[j]);

}

}

box.add("大王");

box.add("小王");

//洗牌

Collections.shuffle(box);

System.out.println(box);

//发牌给三个人

//创建三个集合对象,用于存储各自的牌

ArrayList<String> 刘备 = new ArrayList<String>();

ArrayList<String> 关羽 = new ArrayList<String>();

ArrayList<String> 张飞 = new ArrayList<String>();

/*

* 一共54张牌,除去底牌51张牌,分别发给三个人,

* 0%3=0

* 1%3=1

* 2%3=2

* 3%3=0

* 4%3=1

* 5%3=2

* 6%3=0

* .

* .

* .

* 49%3=1

* 50%3=2

* 51%=0

*/

for(int i =0;i<box.size()-3;i++){

if(i%3==0){

刘备.add(box.get(i));

}else if(i%3==1){

关羽.add(box.get(i));

}else if(i%3==2){

张飞.add(box.get(i));

}

}

System.out.println("刘备:"+刘备);

System.out.println("关羽:"+关羽);

System.out.println("张飞:"+张飞);

System.out.println("底牌:");

for(int i = box.size()-3;i<box.size();i++){

System.out.println(box.get(i));

}

}

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔...
    开心的锣鼓阅读 3,364评论 0 9
  • mean to add the formatted="false" attribute?.[ 46% 47325/...
    ProZoom阅读 2,736评论 0 3
  • 斗地主案例 具体规则: 组装54张扑克牌 将54张牌顺序打乱 三个玩家参与游戏,三人交替摸牌,每人17张牌,最后三...
    今天庹阅读 283评论 0 0
  • Java经典问题算法大全 /*【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子...
    赵宇_阿特奇阅读 1,985评论 0 2
  • 一双鞋,刚买的时候蹭上一点灰都要蹲下来擦干净,穿久之后即使被人踩一脚可能也很少低头。人大抵都是如此,不论对物还是对...
    Lorna_AuYeung阅读 83评论 0 0