java 编写扑克牌洗牌,java斗地主扑克 扑克牌 洗牌 发牌 Collection 集合练习

packagecom.swift.poker;importjava.util.ArrayList;importjava.util.Collections;/*训练考核知识点:Collection接口的基本方法、

训练描述:

按照斗地主的规则,完成洗牌发牌的动作。

具体规则:

使用54张牌打乱顺序

三个玩家参与游戏,三人交替摸牌,每人17张牌,最后三张留作底牌。

操作步骤描述:

?准备牌:

牌可以设计为一个ArrayList,每个字符串为一张牌。

每张牌由花色数字两部分组成,我们可以使用花色集合与数字集合嵌套迭代完成每张牌的组装。

牌由Collections类的shuffle方法进行随机排序。

?发牌:

将每个人以及底牌设计为ArrayList,将最后3张牌直接存放于底牌,剩余牌通过对3取模依次发牌。

?看牌:

直接打印每个集合*/

public classPoker {public static voidmain(String[] args) {

ArrayList huase=new ArrayList();

huase.add("?");

huase.add("?");

huase.add("?");

huase.add("方片");

ArrayList shuzi=new ArrayList();

shuzi.add("A");

shuzi.add("2");

shuzi.add("3");

shuzi.add("4");

shuzi.add("5");

shuzi.add("6");

shuzi.add("7");

shuzi.add("8");

shuzi.add("9");

shuzi.add("10");

shuzi.add("J");

shuzi.add("Q");

shuzi.add("K");

ArrayList puke=new ArrayList();for(String hua:huase) {for(String shu:shuzi) {

puke.add(hua+shu);

}

}

puke.add("大王");

puke.add("小王");for(String str:puke) {

System.out.print(str+" ");

}//随机洗牌

Collections.shuffle(puke);

System.out.println();for(String str:puke) {

System.out.print(str+" ");

}//发牌

ArrayList player1=new ArrayList();

ArrayList player2=new ArrayList();

ArrayList player3=new ArrayList();

ArrayList dipai=new ArrayList();for(int i=0;i<54;i++) {if(i<3) {

dipai.add(puke.get(i));

}else if(i%3==0) {

player1.add(puke.get(i));

}else if(i%3==1) {

player2.add(puke.get(i));

}else if(i%3==2) {

player3.add(puke.get(i));

}

}//看牌

look(player1);

look(player2);

look(player3);

look(dipai);

}private static void look(ArrayListpai) {

System.out.println();for(String str:pai) {

System.out.print(str+" ");

}

System.out.println();

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值