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));
    }
}

 

posted on 2018-11-09 10:55  无名指7  阅读(789)  评论(1)    收藏  举报

导航