斗地主发牌编程PHP,JAVA代码之斗地主发牌详解
package com.oracle.demo01;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
public class Doudizhu {
public static void main(String[] args) {
//1.创建扑克牌Map
Map pooker=new HashMap();
//创建所有key所在的容器
ArrayList pookerNum=new ArrayList();
//创建花色数组
String[] color={"♠","♣","♥","♦"};
//创建牌号数组
String[] number={"2","A","K","Q","J","10","9","8","7","6","5","4","3"};
//造牌并存进map集合
int index=2;
for(String n:number){
for(String c:color){
//向map中存数据
pooker.put(index,c+n);
//向所有key所在的容器存数据
pookerNum.add(index);
index++;
}
}
//存大小王
pooker.put(0, "大王");
pookerNum.add(0);
pooker.put(1, "小王");
pookerNum.add(1);
//洗牌
Collections.shuffle(pookerNum);
//System.out.println(pookerNum);
//发牌
//创建四个容器
ArrayList bottom=new ArrayList<>();
ArrayList player1=new ArrayList<>();
ArrayList player2=new ArrayList<>();
ArrayList player3=new ArrayList<>();
//开始发牌
for(int i=0;i
//将前三张给底牌
if(i<3){
bottom.add(pookerNum.get(i));
}else if(i%3==0){player1.add(pookerNum.get(i));
}else if(i%3==1){player2.add(pookerNum.get(i));
}else if(i%3==2){player3.add(pookerNum.get(i));
}
}
//排序(key升序 牌从大到小)
Collections.sort(bottom);
Collections.sort(player1);
Collections.sort(player2);
Collections.sort(player3);
//看牌(调用方法)
look("刘德华",player1,pooker);
look("张家辉",player2,pooker);
look("周润发",player3,pooker);
look("底牌",bottom,pooker);
}
//看牌的方法(传参为 玩家姓名,玩家的牌即键,所有牌的键值对)
public static void look( String name,ArrayList player,Mappooker){
//打印玩家姓名
System.out.print(name+":");
//遍历所有牌号
for(int num:player){
System.out.print(pooker.get(num)+" ");
}
System.out.println();
}
}
斗地主发牌编程PHP,JAVA代码之斗地主发牌详解相关推荐
- 消除冗长Java代码的工具——Lombok详解
消除冗长Java代码的工具--Lombok详解 文章目录 消除冗长Java代码的工具--Lombok详解 什么是Lombok Lombok的作用 Lombok常用注解 Lombok安装 什么是Lomb ...
- 泛型java 代码讲解_Java泛型详解
2516326-5475e88a458a09e4.png 一,打破砂锅问到底 泛型存在的意义? 泛型类,泛型接口,泛型方法如何定义? 如何限定类型变量? 泛型中使用的约束和局限性有哪些? 泛型类型的继 ...
- Java代码中的注释详解
2019独角兽企业重金招聘Python工程师标准>>> java注释详解 声明:本文系JavaEye网站发布的原创博客文章,未经作者书面许可,严禁任何网站转载本文,否则必将追究法律责 ...
- java书写开头,JAVA代码书写规范汇总详解
一般原则 尽量使用完整的英文描述符 采用适用于相关领域的术语 采用大小写混合增强可读性 尽量少用缩写,但如果用了,要明智地使用,且在整个工程中统一 避免使用长的名字 避免使用类似的名字,或者仅仅是大小 ...
- 西安交通大学915考研--编程题Java代码踩坑(2020年真题)
西安交通大学915考研–编程题Java代码踩坑(2020年真题) 目录 西安交通大学915考研--编程题Java代码踩坑(2020年真题) 2020.1--寻找方程组的解 2020.2--几组数中筛选 ...
- [Java入门笔记] 面向对象编程基础(二):方法详解
2019独角兽企业重金招聘Python工程师标准>>> 什么是方法? 简介 在上一篇的blog中,我们知道了方法是类中的一个组成部分,是类或对象的行为特征的抽象. 无论是从语法和功能 ...
- 《Java和Android开发实战详解》——2.5节良好的Java程序代码编写风格
本节书摘来自异步社区<Java和Android开发实战详解>一书中的第2章,第2.5节良好的Java程序代码编写风格,作者 陈会安,更多章节内容可以访问云栖社区"异步社区&quo ...
- java构造块_java中的静态代码块、构造代码块、构造方法详解
运行下面这段代码,观察其结果: package com.test; public class HelloB extends HelloA { public HelloB() { } { System. ...
- Java 泛型(generics)详解及代码示例、Java 类型通配符详解及代码示例
Java 泛型(generics)详解及代码示例.Java 类型通配符详解及代码示例 - 概念 Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制 ...
最新文章
- 语义分割 - 数据集准备
- php 数组的格式,PHP文件格式数组
- Kubernetes里ingress配置的一些例子
- 客户旅程_我如何充分利用freeCodeCamp的旅程
- linux 重定向 不换行,Ada:重定向到stdout时省略换行符(测试Put)
- linux拷贝带子文件夹命令,简单带子目录的makefile练习
- (转载)VS2010/MFC编程入门之五十二(Ribbon界面开发:创建Ribbon样式的应用程序框架)...
- 关于计算机Excel中的试题,2015年职称计算机考试EXCEL练习试题及答案
- 算法-第四版-练习1.2.3解答
- 程序算法面试 题目汇总 算法题 推理题 规律题
- 《统计学》第八版贾俊平第四章总结及课后习题答案
- 计算机二级C++刷题记录
- C语言信息学一本通题库答案,信息学奥赛一本通(C++版)在线评测系统
- 如何用Matlab求不定积分
- 电视盒子刷linux树莓派,变废为宝二:闲置“树莓派”开发板秒变电视盒子!
- 对dede标签调用的内容进行判断并输出的方法
- 基于BB方案,荣耀观影眼镜Vision Glass正式发布
- vector<PII>v
- Java实验——设计一个数组模型,用于存储体育项目成绩男生体育项目有足球、长跑和铅球,女生体育项目有跳舞、体操、游泳。设计排序算法,将变量a、b、c中的数值按大小顺利进行互换(从大到小排列)。
- 【linux】循序渐进学运维-基础篇-修复文件系统实战