Java代码扑克牌

package cn.tedu;
//      三个方法  1.创建牌   2.洗牌   3. 发牌
//      1.嵌套for循环创建整幅牌  String[]
//      2.打乱 new Random()
//      3.不用留底拍  ABC  ABC  ABC   三个人     %

import java.util.Arrays;
import java.util.Random;

public class 扑克牌 {
    public static void main (String[] args) {
        String[] pokers = createPokers ();
        String[] pokers2 = shuffle (pokers);
        deal (pokers2);

    }

    private static void deal (String[] pokers2) {
        String[] player1 = new String[pokers2.length / 3];
        String[] player2 = new String[pokers2.length / 3];
        String[] player3 = new String[pokers2.length / 3];

        int a = 0;
        int b = 0;
        int c = 0;
        for (int i = 0; i < pokers2.length; i++) {
            if (i % 3 == 0) {
                player1[a] = pokers2[i];
                a++;
            } else if (i % 3 == 1) {
                player2[b] = pokers2[i];
                b++;
            } else if (i % 3 == 2) {
                player3[c] = pokers2[i];
                c++;
            }
        }

        System.out.println ("1号玩家"+Arrays.toString (player1));
        System.out.println ("2号玩家"+Arrays.toString (player2));
        System.out.println ("3号玩家"+Arrays.toString (player3));


    }

    private static String[] shuffle (String[] pokers) {
        String[] pokers2 = new String[54]; //洗好的牌
        boolean[] kaiguan = new boolean[54];
        Random random = new Random ();
        int index = 0;
        while (true) {
            int i = random.nextInt (54); //23
            if (kaiguan[i] == false) {
                pokers2[index] = pokers[i];
                index++;
                kaiguan[i] = true;
            }
            if (index == 54) {
                break;
            }

        }
        return pokers2;

    }

    private static String[] createPokers () {
        String[] huase = {"红桃", "黑桃", "方片", "梅花"};
        int a[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13};
        String[] pokers = new String[54];

        int index = 0;
        for (int i = 0; i < huase.length; i++) {
            for (int j = 0; j < a.length; j++) {
                pokers[index] = huase[i] + a[j];
                index++;
            }
        }
        pokers[52] = "小王";
        pokers[53] = "大王";
        System.out.println (Arrays.toString (pokers));
        return pokers;
    }
}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值