java发牌器 随机发牌(斗地主)
首先创建一个数组 把我们所有的牌放里面

然后在创建每个玩家 接收的数组
String w1[] = new String[17];//玩家一
String w2[] = new String[17];//玩家二
String w3[] = new String[17];//玩家三
String d[] = new String[3];//底牌
创建好后就可以开始发牌了
发牌我们用 到随机数 Math.random() 这样子我们就可以保证每一种牌都有几率到每一个玩家手里
for (int i = 0; i < w1.length;) { //发玩家一的牌 int b2=(int)(Math.random()*54); if(!f[b2].equals("已发")){//没有发出去才会进去 发牌 w1[i]=f[b2];//发牌 f[b2]="已发";//做标记-这张牌已经发出去了 i++; }
我们已经发过的牌就会 做标记 就不会发重复的牌了
后面的玩家发牌你们应该会了 你可以去试试做
嘻嘻
我新手 请多多关照
全部源码
package com.zy.zjg; import java.lang.reflect.Array; import java.util.Arrays; public class ZY44 { public static void main(String[] args) { // TODO Auto-generated method stub String f[] = new String[] { "♡2", "♡3", "♡4", "♡5", "♡6", "♡7", "♡8", "♡9", "♡10", "♡J", "♡Q", "♡K", "♡A", "♥2", "♥3", "♥4", "♥5", "♥6", "♥7", "♥8", "♥9", "♥10", "♥J", "♥Q", "♥K", "♥A", "◇2", "◇3", "◇4", "◇5", "◇6", "◇7", "◇8", "◇9", "◇10", "◇J", "◇Q", "◇K", "◇A", "♣2", "♣3", "♣4", "♣5", "♣6", "♣7", "♣8", "♣9", "♣10", "♣J", "♣Q", "♣K", "♣A", "大王", "小王" }; String w1[] = new String[17]; String w2[] = new String[17]; String w3[] = new String[17]; String d[] = new String[3]; for (int i = 0; i < w1.length;) { int b2 = (int) (Math.random() * 54); if (!f[b2].equals("已发")) {// 没有发出去才会进去 发牌 w1[i] = f[b2];// 发牌 f[b2] = "已发";// 做标记-这张牌已经发出去了 i++; } } for (int i = 0; i < w2.length;) { int b2 = (int) (Math.random() * 54); if (!f[b2].equals("已发")) {// 没有发出去才会进去 发牌 w2[i] = f[b2];// 发牌 f[b2] = "已发";// 做标记-这张牌已经发出去了 i++; } } for (int i = 0; i < w3.length;) { int b2 = (int) (Math.random() * 54); if (!f[b2].equals("已发")) {// 没有发出去才会进去 发牌 w3[i] = f[b2];// 发牌 f[b2] = "已发";// 做标记-这张牌已经发出去了 i++; } } for (int i = 0; i < d.length;) { int b2 = (int) (Math.random() * 54); if (!f[b2].equals("已发")) {// 没有发出去才会进去 发牌 d[i] = f[b2];// 发牌 f[b2] = "已发";// 做标记-这张牌已经发出去了 i++; } } System.out.println("玩家一" + Arrays.toString(w1)); System.out.println("玩家二" + Arrays.toString(w2)); System.out.println("玩家三" + Arrays.toString(w3)); System.out.println("底牌" + Arrays.toString(d)); } }
浙公网安备 33010602011771号