制作扑克牌分发

需求:

利用所学基本知识,制作一副扑克牌,进行洗牌并分发给三个人,实现斗地主,留下三张地主牌。

代码:

package game;

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

public class poker1 {
    public static void main(String[] args) {
        System.out.println("扑克牌斗地主游戏分发");
        //制作扑克牌
        String[] a = {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13"};
        String[] b = {"♠", "♥", "♣", "♦"};
        String[] r = new String[54];
        int k = 0;
        for (int i = 0; i < a.length; i++) {
            for (int j = 0; j < b.length; j++) {
                r[k] = b[j] + a[i];
                k++;
            }
        }
        r[52] = "大王";
        r[53] = "小王";
        System.out.println(Arrays.toString(r));
        System.out.println("扑克牌制作完毕!");
        //洗牌
        for (int i = 0; i < r.length; i++) {
            int c = new Random().nextInt(54);
            if (i != c) {
                String z = r[i];
                r[i] = r[c];
                r[c] = z;
            }
        }
        System.out.println(Arrays.toString(r));
        System.out.println("洗牌完毕!");
        //分牌
        String[] play1=new String[17];
        String[] play2=new String[17];
        String[] play3=new String[17];
        String[] bottom={r[51],r[52],r[53]};
        int p1=0,p2=0,p3=0;
        for (int i=0;i<r.length-3;i++){

            if (i%3==0){
                play1[p1]=r[i];
                p1++;
            }else if(i%3==1){
                play2[p2]=r[i];
                p2++;
            }else if (i%3==2){
                play3[p3]=r[i];
                p3++;
            }
        }

        System.out.println("一号玩家:"+Arrays.toString(play1));
        System.out.println("二号玩家:"+Arrays.toString(play2));
        System.out.println("三号玩家:"+Arrays.toString(play3));
        System.out.println("地主牌为:"+Arrays.toString(bottom));
    }
}

运行结果:

在这里插入图片描述

可以使用Java编写一个简单的扑克牌分发程序,以下是一个示例: ```java import java.util.ArrayList; import java.util.Collections; public class PokerGame { private ArrayList<String> deck; public PokerGame() { deck = new ArrayList<>(); String[] suits = {"♠️", "♥️", "♦️", "♣️"}; String[] ranks = {"A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K"}; // 初始化一副牌 for (String suit : suits) { for (String rank : ranks) { deck.add(rank + suit); } } // 洗牌 Collections.shuffle(deck); } public void dealCards(int numPlayers, int numCards) { if (numPlayers * numCards > deck.size()) { System.out.println("牌不够分!"); return; } for (int i = 0; i < numPlayers; i++) { System.out.printf("玩家 %d 的牌:", i + 1); for (int j = 0; j < numCards; j++) { String card = deck.remove(0); System.out.print(card + " "); } System.out.println(); } } public static void main(String[] args) { PokerGame game = new PokerGame(); game.dealCards(4, 5); } } ``` 这个程序首先创建了一个包含52张扑克牌的牌组,然后使用`Collections.shuffle()`方法对牌组进行洗牌。接下来,`dealCards()`方法用来发牌,它接受两个参数:玩家数量和每个玩家的牌数。程序会检查牌组中是否有足够的牌来分发给玩家,如果不够,则输出错误信息。然后,程序会依次将牌发给每个玩家,并打印出每个玩家手中的牌。 在示例中,`main()`方法创建了一个PokerGame对象,并调用`dealCards()`方法将5张牌发给4个玩家。你可以根据需要修改玩家数量和每个玩家的牌数。运行程序,你将看到输出的结果是每个玩家手中的牌。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值