1. import java.util.ArrayList;
  2. import java.util.Collections;
  3. import java.util.HashMap;
  4. import java.util.Set;
  5.  
  6. import static java.util.Map.Entry;
  7. public class DouDiZhu {
  8.  
  9. public static void main(String[] args) {
  10. ArrayList<Integer> pook = new ArrayList<Integer>();
  11. HashMap<Integer,String> hm =new HashMap<Integer,String>();
  12.  
  13. String[] str1 = { "♥","♣","♦","♠"};
  14. String[] str2 = {"2","A","K","Q","J","10","9","8","7","6","5","4","3"};
  15.  
  16. int index = 2;
  17. for(String s2 :str2) {
  18. for(String s1 : str1) {
  19. hm.put(index, s1+s2);
  20. pook.add(index);
  21. index++;
  22. }
  23. }
  24. hm.put(0, "大王");
  25. pook.add(0);
  26. hm.put(1, "小王");
  27. pook.add(1);
  28.  
  29. Collections.shuffle(pook);
  30.  
  31. ArrayList<Integer> player1= new ArrayList<Integer>();
  32. ArrayList<Integer> player2 = new ArrayList<Integer>();
  33. ArrayList<Integer> player3 = new ArrayList<Integer>();
  34. ArrayList<Integer> bottom = new ArrayList<Integer>();
  35.  
  36. for (int i = 0; i < pook.size(); i++) {
  37.  
  38. if(i < 3) {
  39. bottom.add(pook.get(i));
  40. }else if(i % 3 == 0) {
  41. player1.add(pook.get(i));
  42. }else if(i % 3 == 1) {
  43. player2.add(pook.get(i));
  44. }else if(i % 3 == 2) {
  45. player3.add(pook.get(i));
  46. }
  47.  
  48. }
  49. Collections.sort(player1);
  50. Collections.sort(player2);
  51. Collections.sort(player3);
  52. Collections.sort(bottom);
  53.  
  54. look("赌神",hm,player1);
  55.  
  56. }
  57.  
  58. public static void look(String name,HashMap<Integer,String> ss,ArrayList<Integer> ii) {
  59. System.out.print(name+":");
  60. for(Integer i : ii) {
  61. System.out.print(ss.get(i)+" ");
  62. }
  63. System.out.println();
  64. }
  65.  
  66. }

java ->斗地主洗牌的更多相关文章

  1. Java基础知识强化之集合框架笔记71:模拟斗地主洗牌和发牌并对牌进行排序的案例

    1. 模拟斗地主洗牌和发牌并对牌进行排序的原理图解: 2. 代码实现: 思路: • 创建一个HashMap集合 • 创建一个ArrayList集合 • 创建花色数组和点数数组 • 从0开始往HashM ...

  2. Java基础知识强化之集合框架笔记70:模拟斗地主洗牌和发牌(ArrayList)

    1. 模拟斗地主洗牌和发牌 分析:     A:创建一个牌盒     B:装牌     C:洗牌     D:发牌     E:看牌 2. 代码实现: package cn.itcast_03; im ...

  3. Map集合、HashMap集合、LinkedHashMap集合、Hashtable集合、Collections工具类和模拟斗地主洗牌和发牌

    1.Map集合概述和特点 * A:Map接口概述  * 查看API可以知道:          * 将键映射到值的对象          * 一个映射不能包含重复的键          * 每个键最多 ...

  4. java集合--模拟斗地主发牌洗牌

    import java.util.*; /** * @Date: 2020/6/17 19:53 */public class Test04 { public static void main(Str ...

  5. java 模拟斗地主发牌洗牌

    一 模拟斗地主洗牌发牌 1.案例需求 按照斗地主的规则,完成洗牌发牌的动作. 具体规则: 1. 组装54张扑克牌 2. 将54张牌顺序打乱 3. 三个玩家参与游戏,三人交替摸牌,每人17张牌,最后三张 ...

  6. Java斗地主案例、异常和自定义异常整理

    模拟斗地主洗牌发牌 1.1 案例介绍 按照斗地主的规则,完成洗牌发牌的动作. 具体规则: 1. 组装54张扑克牌 2. 将54张牌顺序打乱 3. 三个玩家参与游戏,三人交替摸牌,每人17张牌,最后三张 ...

  7. Java学习笔记34(集合框架八:综合案例:模拟斗地主的洗牌发牌)

    规则: 1.54张扑克牌,有花色 2.顺序打乱,一人一张依次发牌,一人17张,留三张作为底牌 3.看牌:按大小王2A....43的序排列打印 示例: package demo; import java ...

  8. java斗地主扑克 扑克牌 洗牌 发牌 Collection 集合练习

    package com.swift.poker; import java.util.ArrayList; import java.util.Collections; /*训练考核知识点:Collect ...

  9. Java模拟斗地主发牌和洗牌

    package cn.itcast_04; import java.util.ArrayList; import java.util.Collections; import java.util.Has ...

随机推荐

  1. Springboot:员工管理之环境准备(十(1))

    1:静态资源 下载静态资源:https://files.cnblogs.com/files/applesnt/ztzy.zip 项目下载:https://files.cnblogs.com/files ...

  2. C#集合类型——Hashtable、Dictionary之浅谈

    Hashtable表 数组.数组集合.List集合都是通过索引来访问里面成员.哈希表则是通过键来访问成员值.键不可为空,值可为空. 比如: Hashtable  hash=new  Hashtable ...

  3. 数值计算方法实验之按照按三弯矩方程及追赶法的三次样条插值 (MATLAB 代码)

    一.实验目的 在已知f(x),x∈[a,b]的表达式,但函数值不便计算,或不知f(x),x∈[a,b]而又需要给出其在[a,b]上的值时,按插值原则f(xi)= yi(i= 0,1…….,n)求出简单 ...

  4. pytorch seq2seq闲聊机器人加入attention机制

    attention.py """ 实现attention """ import torch import torch.nn as nn im ...

  5. python学习24之异常

    '''''''''1.低级错误:纯语法错误2.中级错误:代码存在隐性错误,逻辑缺陷3.高级错误:软件面对不确定性的异常错误''''''一.捕获异常1.基本异常捕获语句try: #异常捕捉语句的开始 代 ...

  6. 搭建phpMyAdmin

    MySQL常见的管理工具 今天选择的phpMyAdmin 一款基于浏览器管理数据库的工具. 下载可以去官网下载https://files.phpmyadmin.net/phpMyAdmin/4.7.5 ...

  7. Windows 切换 working directory

    用函数 _chdir() 例如用计划任务启动,pwd 是 system32 使用相对路径的地方会出错. 在 main 函数刚启动的时候转换一下 working directory 可解.

  8. [Qt] 文本文件读写, 摘自官方文档

    Reading Files Directly The following example reads a text file line by line: QFile file("in.txt ...

  9. Java初学者最近三次作业的心得体会

    作为一个初学者,简单的谈一下自己的作业心得体会.如果你是完全没有接触过Java的学习,本篇博文可能会有些收获,如果你已经学习Java有一段时间了,那么可以放弃这篇文章了,因为这篇文章讲解的是基本的东西 ...

  10. Vs Code中炫酷写代码插件Power Mode的安装配置

    扩展栏搜索 Power Mode 安装 安装后重启vs code 文件->首选项->设置 搜索setting.json,点击在setting.json中编辑 打开之后在右侧用户设置里添加以 ...