Java设计一个随机发牌游戏(共52张无大小王)

设计一个随机发牌游戏(共52张无大小王)

采用面向对象的方式编写一个发牌游戏。四名牌手打牌,电脑随机將52张牌(不含大、小王)发给四名牌手,并在屏幕上显示每位牌手的牌。

输出样例如下:

第0牌手:梅花10 梅花8 方片9 黑桃K 梅花4 红桃9 黑桃5 黑桃6 黑桃2 红桃J 红桃7 方片5 黑桃10

第1牌手:红桃5 红桃4 方片10 方片1 梅花5 梅花9 梅花K 梅花Q 红桃8 红桃Q 黑桃3 黑桃7 梅花1

第2牌手:方片3 方片7 方片6 梅花2 梅花6 方片Q 梅花J 方片2 黑桃Q 方片J 黑桃4 黑桃8 红桃3

第3牌手:方片4 方片8 黑桃J 梅花3 梅花7 黑桃1 红桃2 红桃6 红桃10 方片K 红桃K 黑桃9 红桃1

1.card类

public class Card {
    String str;
    Card(String color,String num){
        str=color+num;
    }
}

2.poke类

public class Poke {
    static String[] color={"黑桃","红桃","梅花","方片"};
    static String[] num={"A","2","3","4","5","6","7","8","9","10","J","Q","K"};
    public void getpoke(Card card[]) {
        for (int i = 0; i < 4; i++) {
            for (int j = 0; j < 13; j++) {
                card[i * 13 + j] = new Card(color[i], num[j]);
            }
        }
    }
}

3.player类

public class Player {
    Card[] card=new Card[13];
    Player(Card card[], int flag[]){
        for(int i=0;i<13;i++){
            int x=(int)(Math.random()*52);
            if(flag[x]==0){
                this.card[i]=card[x];
                flag[x]=1;
            }
            else i--;
        }
    }
    public void print(){
        for(int i=0;i<13;i++){
            System.out.print(this.card[i].str+"\t");
        }
        System.out.println();
    }
    public static void main(String[] args){
        Card[] cards=new Card[52];
        Poke poke=new Poke();
        poke.getpoke(cards);
        int[] flag=new int[52];
        Player[] players=new Player[4];
        for(int i=0;i<4;i++){
            System.out.print("第"+i+"牌手:");
            players[i]=new Player(cards,flag);
            players[i].print();
        }
    }
}
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值