• JAVA基础15


    package demo04;

    import java.util.*;

    /*
    模拟斗地主 洗牌,发牌
    1,创建牌面
    && ##
    ♣ ♦ ♥ ♠(黑红梅方)
    1 2 3...J Q K
    V && ## 2♠ 2♥ .... 3♣ 3♦
    K 1 2 3 4 .....53 54

    2,洗牌
    1,获取键的集合----set<>
    2,将set集合转为list集合
    3,Collections.shuffle(List<?> list)

    3,发牌
    1,创建3个玩家集合+ 1个底牌集合
    2,发编号(k)
    3,通过编号 显示牌面 (通过k---v)

    创建三个玩家 打印一下 他们手中 牌面
    */
    public class Demo01 {
    public static void main(String[] args) {
    //创建牌面 集合
    Map<Integer,String>pMap=new HashMap<>();
    //颜色集合
    List<String>colors=new ArrayList<>();
    //数字集合
    List<String>nums=new ArrayList<>();
    //添加颜色
    Collections.addAll(colors,"♠","♥","♣","♦");
    Collections.addAll(nums,"2","1","K","Q","J","10","9","8","7","6","5","4","3");
    int count=0;
    pMap.put(count++,"&&");
    pMap.put(count++,"##");
    for (String n:nums) {
    for (String c : colors) {
    {
    String p=c+n;
    pMap.put(count++,p);
    }
    }
    }
    System.out.println(pMap);

    //洗牌
    Set<Integer> keyps = pMap.keySet();
    List<Integer>keylist=new ArrayList<>();
    keylist.addAll(keyps);
    //set集合 转成list集合
    Collections.shuffle(keylist);
    System.out.println(keylist);
    //发牌
    ArrayList<Integer>w1=new ArrayList<>();
    ArrayList<Integer>w2=new ArrayList<>();
    ArrayList<Integer>w3=new ArrayList<>();
    ArrayList<Integer>dp=new ArrayList<>();
    for (int i = 0; i < keylist.size(); i++) {
    //牌号
    Integer no=keylist.get(i);
    if (i>=51)
    {
    //最后三张牌
    dp.add(no);
    }else if(i%3==0)
    {
    w1.add(no);
    }else if (i%3==1)
    {
    w2.add(no);
    }else {
    w3.add(no);
    }
    }
    Collections.sort(w1);
    Collections.sort(w2);
    Collections.sort(w3);
    Collections.sort(dp);
    //变成牌
    ArrayList<String>w1p=new ArrayList<>();
    ArrayList<String>w2p=new ArrayList<>();
    ArrayList<String>w3p=new ArrayList<>();
    ArrayList<String>dpp=new ArrayList<>();
    for (Integer n:w1)
    {
    //根据k 获取 v
    String card=pMap.get(n);
    w1p.add(card);
    }
    for (Integer n:w2)
    {
    //根据k 获取 v
    String card=pMap.get(n);
    w2p.add(card);
    }
    for (Integer n:w3)
    {
    //根据k 获取 v
    String card=pMap.get(n);
    w3p.add(card);
    }
    for (Integer n:dp)
    {
    //根据k 获取 v
    String card=pMap.get(n);
    dpp.add(card);
    }

    System.out.println(w1p);
    System.out.println(w2p);
    System.out.println(w3p);
    System.out.println(dpp);
    }


    }

  • 相关阅读:
    UIWebView的高度不对问题
    SQL --分组【Group By】
    SQL--Order By
    SQL--空值处理
    SQ--模糊查询
    SQL 聚合函数
    SQL 语句的TOP,Distinct语句
    SQL约束
    1 翻译系列:什么是Code First(EF 6 Code First 系列)
    终极版:由简单工厂模式,升级到抽象工厂模式(用到反射)
  • 原文地址:https://www.cnblogs.com/coder-ahao/p/13900047.html
Copyright © 2020-2023  润新知