栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java模拟斗地主发牌

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java模拟斗地主发牌

package Project01;

import java.util.*;
 
public class Code02 {

    public static void main(String[] args) {
           ArrayList color=new ArrayList();        //添加扑克的4种类型
                      color.add("黑桃");
                      color.add("红桃");
                      color.add("方块");
                      color.add("梅花");
          ArrayList number=new ArrayList();      //添加数字和字母
                  for(int i=0;i<8;i++)
                      number.add(i+" ");
                  number.add("J");
                  number.add("Q");
                  number.add("K");
                  number.add("A");
                  number.add("2");
        HashMap map=new HashMap();
                  int index=0;
                    for(String thisNumber:number)                //每一种牌的类型都遍历一遍数字
                    for(String thisColor:color)
                     map.put(index++,thisColor+thisNumber);      //牌的类型和数字形成一张牌
                map.put(index++, "小王");                        //添加大小王    
                map.put(index++,"大王");
                ArrayList cards=new ArrayList();
                for(int i=0;i<54;i++) {
                    cards.add(i);                                  //把54张牌添加到集合中
                }
                Collections.shuffle(cards);                       //使用默认随机源对指定列表进行置换
                ArrayList iPlayer1=new ArrayList();       //定义集合存储玩家一牌的键
                ArrayList iPlayer2=new ArrayList();       //定义集合存储玩家二牌的键
                ArrayList iPlayer3=new ArrayList();       //定义集合存储玩家二牌的键
                ArrayList iSecretCards=new ArrayList();   //定义集合存储底牌的键
                for(int i=0;i                         if(i>=51)
                           iSecretCards.add(cards.get(i));             //添加底牌的键到集合中
                          else {
                            if(i%3==0)
                             iPlayer1.add(cards.get(i));            //添加玩家一牌的键到集合中
                            else if(i%3==1)
                             iPlayer2.add(cards.get(i));            //添加玩家一牌的键到集合中
                             else
                             iPlayer3.add(cards.get(i));           //添加玩家一牌的键到集合中
                         }
                }
                //把牌的键按升序排序
                Collections.sort(iPlayer1);                     
                Collections.sort(iPlayer2);
                Collections.sort(iPlayer3);
                //遍历集合,根据键取出值添加到集合中
                ArrayList sPlayer1=new ArrayList();
                ArrayList sPlayer2=new ArrayList();
                ArrayList sPlayer3=new ArrayList();
                ArrayList sSecretCards=new ArrayList();            
                for(Integer key:iPlayer1) {
                    sPlayer1.add(map.get(key));          
                }
                for(Integer key:iPlayer2) {
                    sPlayer2.add(map.get(key));
                }
                for(Integer key:iPlayer3) {
                    sPlayer3.add(map.get(key));
                }
                 for(Integer key:iSecretCards) {
                sSecretCards.add(map.get(key));
                }
                 //打印每个玩家和底牌的牌
                 System.out.println("玩家1:"+sPlayer1);
                 System.out.println("玩家2:"+sPlayer2);
                 System.out.println("玩家3:"+sPlayer3);
                 System.out.println("底牌:"+sSecretCards);
            }
}
    

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/572609.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号