java模拟实现斗地主发牌小程序

网友投稿 296 2022-12-09


java模拟实现斗地主发牌小程序

一副扑克有54张牌:大小王+4*13,接下来我们来模拟一下斗地主的发牌过程

首先,我们需要买牌,新买来的牌都是按顺序摆放的,因此下一步是洗牌,最后就是发牌了,不过发牌的时候要注意还要在最后留三张底牌。

主要使用的类有 ArrayList:用来存储扑克,Collections用来洗牌。

import java.util.ArrayList;

import java.util.Collections;

/*

* 模拟斗地主发牌 一共54张牌

* 买牌

* 洗牌

* 发牌

*

*/

public class DouDIZhuDemo {

public static void main(String[] args) {

// 花色 数组

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

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

// 买牌

ArrayList box = new ArrayList();

// 添加牌

// 获取花色

for (int i = 0; i &ltXPdSVntK; arr.length; iXPdSVntK++)

// 获取数值

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

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

// 大小王

box.add("大王");

box.add("小王");

// 洗牌

Collections.shuffle(box);

// 发牌 三张底牌给地主,剩51张,每人17张

// 三个拿牌打牌的

ArrayList 七宝 = new ArrayList();

ArrayList 八宝 = new ArrayList();

ArrayList 九宝 = new ArrayList();

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("九宝:"+九XPdSVntK宝);

//底牌

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

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

}

}

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

}

}


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Spring读取配置文件属性实现方法
下一篇:Springboot实现多文件上传代码解析
相关文章

 发表评论

暂时没有评论,来抢沙发吧~