java 斗地主洗牌发牌
斗地主游戏共有三名玩家参与,首先将54张牌的顺序打乱,每人轮流摸牌,剩余三张做底牌。54张牌四种花色。
此案例只有一个Test类
Test测试类
package anli06_4;import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;/*
斗地主发牌器*/
public class Test {public static void main(String[] args) {//1.准备扑克牌HashMap<Integer,String>map=new HashMap<>();ArrayList<Integer>list =new ArrayList<>();map.put(1,"大王");map.put(2,"小王");list.add(1);list.add(2);String[] numbers={"2","A","K","Q","J","10","9","8","7","6","5","4","3"};String[] colors={"♠","♥","♣","♦"};int index=3;for (String number:numbers){for (String color:colors){map.put(index,number+color);list.add(index);index++;}}//2.洗牌Collections.shuffle(list);//3.发牌ArrayList<Integer> diPai=new ArrayList<>();ArrayList<Integer> player1=new ArrayList<>();ArrayList<Integer> player2=new ArrayList<>();ArrayList<Integer> player3=new ArrayList<>();for (int i=0;i<list.size();i++){if (i>=51){diPai.add(list.get(i));}else if (i%3==0){player1.add(list.get(i));}else if (i%3==1){player2.add(list.get(i));}else {player3.add(list.get(i));}}//4.排序Collections.sort(diPai);Collections.sort(player1);Collections.sort(player2);Collections.sort(player3);//5.看牌look("赌神",player1,map);look("赌侠",player2,map);look("赌圣",player3,map);look("底牌",diPai,map);}private static void look(String name, ArrayList<Integer> list, HashMap<Integer, String> map) {System.out.print(name+":");for (Integer number:list){System.out.print(map.get(number)+" ");}System.out.println();}
}
结果展示
每次的发牌都是随机的
java 斗地主洗牌发牌相关推荐
- java集合框架的练习之斗地主洗牌发牌的模拟(升级版)
首先,奉上java集合框架的练习之斗地主洗牌发牌的模拟(初级版)的链接:http://blog.csdn.net/striner/article/details/78489306 初级版只具有洗牌发牌 ...
- java中Map集合、模拟斗地主洗牌发牌、JDK9对集合添加的优化
1.1 Map集合概述 Map集合概述 Map==>映射(一个对应一个) Map是一个接口,只要实现了该接口的类都是双列集合. 双列集合每次存储元素时都需要存储两个元素,一个元素称为键,一个元素 ...
- 模拟斗地主洗牌发牌-JAVA
1.1案例介绍 按照斗地主的规则,完成洗牌发牌的动作. 具体规则: 1.组装54张扑克牌 2.将54张牌顺序打乱 3.三个玩家参与游戏,三人交替摸牌,,每人17张牌,最后三张留作底牌. 4.查看三人各 ...
- Java实现模拟斗地主洗牌发牌
按照斗地主的规则,完成洗牌发牌看牌的动作.最终结果预计为: 具体规则: 1.组装54张扑克牌 2.将54张扑克牌顺序打乱 3.三个玩家参与游戏,三人交替摸牌,每人17张,最后三张做底牌 4.查看三人手 ...
- 斗地主洗牌发牌——排序版
文章目录 前言 一.知识点 二.使用步骤 2.完整代码 感谢您的阅读,不足之处欢迎指正 前言 Java实现模拟斗地主洗牌发牌操作,留下三张底牌,对发到手的纸牌排序. 一.知识点 主要使用HashMap ...
- 【案例 6-4】斗地主洗牌发牌
[案例介绍] 1.任务描述 斗地主的扑克牌游戏,相信许多人都会玩,本例要求编写一个斗地主的洗牌发牌程序,要求按照斗地主的规则完成洗牌发牌的过程.一副扑克总共有 54 张牌,牌面由花色和数字组成(包括 ...
- 【JAVASE】模拟斗地主洗牌发牌
1.案例介绍 按照斗地主的规则,完成洗牌发牌的动作. 具体规则: 组装54张扑克牌 54张牌顺序打乱 三个玩家参与游戏,三人交替摸牌,每人17张牌,最后三张留作底牌. 查看三人各自手中的牌(按照牌的大 ...
- java使用集合模拟斗地主洗牌发牌案例
package com.itheima.模拟斗地主.斗地主版本2;import java.util.ArrayList; import java.util.Collections; import ja ...
- java实现斗地主洗牌发牌功能
设计思路 初始化54张牌 洗牌 发牌 给玩家手牌排序 展示玩家手牌及3张底牌 实现思路 首先是54张牌要选择一种数据结构存放,这里选择List和Map集合都可以,我这里选择的是Map 要区分4种花色, ...
最新文章
- 那些让我唏嘘不已的嫡亲同学
- python输入输出重定向_Python标准输出重定向
- Java UDP 编程简介.
- leetcode1. 两数之和(两种方法)
- Hanoi(汉诺)塔问题
- STM32之定时器原理
- element-ui表单校验
- python爬虫 selenium模块的学习
- PHP使用weui,微信小程序WeUI引入
- 什么是 WebAssembly?
- Unity中一个安卓设备拆装项目,从使用到放弃ab包过程记录
- 程序员的寂寞,你们不懂
- acwing1282. 搜索关键词(AC 自动机)
- 基于Java GUI的资产管理系统的设计与实现
- 全球光纤接头闭合器(FOSC)收入预计2028年达到42.159亿美元
- 谷仓的安保【DFS】
- 店群怎么玩?2020最新玩法介绍 胖哥给大家分享干货
- android 強制屏幕方向,今日精品安卓App推荐:锁定屏幕旋转方向
- 新版白话空间统计(9):置信度的初探
- java 菱形代码加解释_Java 9增强的“菱形”语法
热门文章
- 以前flyback的osdiy
- nao机器人开发资料
- 5-26 高位震荡中,明后天有调整需求
- 基于JAVA前后端分离健身房管理系统计算机毕业设计源码+数据库+lw文档+系统+部署
- html 画星星的坐标,如何使用画布HTML5绘制星星?
- CMake 的下载安装和使用
- JAVA判断字符串以什么什么开始_字符串不能以什么开头 Java 判断字符串是否以什么开头...
- WebSocket实战之四WSS配置
- mysql_性能优化一(慢查询分析)
- 对Restful的理解