Java模拟斗地主(实现大小排序)
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map; public class DouDiZhu {
public static Integer[] index = new Integer[54];
private static Map<Integer, String> allCard = new HashMap<Integer, String>(); public static void main(String[] args) {
initMap(allCard);//1.) 初始化卡牌
List<Integer> list = Arrays.asList(initIndex(index));
Collections.shuffle(list);//2.)洗牌
//3.)发牌
List<Integer> player1 = list.subList(0, 17);
List<Integer> player2 = list.subList(17, 34);
List<Integer> player3 = list.subList(34, 51);
List<Integer> dipai = list.subList(51, 54);
//4.)按大小排序
Collections.sort(player1);
Collections.sort(player2);
Collections.sort(player3);
Collections.sort(dipai);
System.out.print("玩家1:");
for (Integer i :player1){
System.out.print(allCard.get(i));
}
System.out.println();
System.out.print("玩家2:");
for (Integer i :player2){
System.out.print(allCard.get(i));
}
System.out.println();
System.out.print("玩家3:");
for (Integer i :player3){
System.out.print(allCard.get(i));
}
System.out.println();
System.out.print("底牌 :");
for (Integer i :dipai){
System.out.print(allCard.get(i));
} }
// 初始化卡牌数量
public static Integer[] initIndex(Integer[] index) {
for (int i = 1; i < 55; i++) {
index[i - 1] = i;
}
return index;
}
//将卡牌按大小以及花色(黑红梅方)添加到map
public static void initMap(Map<Integer, String> map) {
String[] num = { "2", "A", "K", "Q", "J", "10", "9", "8", "7", "6",
"5", "4", "3" };
String[] color = { "♠","♥","♦","♣"};
map.put(1, "|BK|");
map.put(2, "|SK|");
int k = 3;
for (int i = 0; i < num.length; i++) {
for (int j = 0; j < color.length; j++) {
map.put(k, color[j] + num[i]);
k++;
}
}
}
}
运行结果:
Java模拟斗地主(实现大小排序)的更多相关文章
- java 模拟斗地主发牌洗牌
一 模拟斗地主洗牌发牌 1.案例需求 按照斗地主的规则,完成洗牌发牌的动作. 具体规则: 1. 组装54张扑克牌 2. 将54张牌顺序打乱 3. 三个玩家参与游戏,三人交替摸牌,每人17张牌,最后三张 ...
- Java 模拟斗地主
模拟斗地主 public class M1 { public static void main(String args[]) { DouDiZhu02(); } private static void ...
- java字符串数组进行大小排序
若是将两个字符串直接比较大小,会包:The operator > is undefined for the argument type(s) java.lang.String, java.lan ...
- java模拟斗地主发牌看牌
import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; public class Dou ...
- Java模拟斗地主发牌和洗牌
package cn.itcast_04; import java.util.ArrayList; import java.util.Collections; import java.util.Has ...
- Java基础知识强化之集合框架笔记71:模拟斗地主洗牌和发牌并对牌进行排序的案例
1. 模拟斗地主洗牌和发牌并对牌进行排序的原理图解: 2. 代码实现: 思路: • 创建一个HashMap集合 • 创建一个ArrayList集合 • 创建花色数组和点数数组 • 从0开始往HashM ...
- Java基础知识强化之集合框架笔记70:模拟斗地主洗牌和发牌(ArrayList)
1. 模拟斗地主洗牌和发牌 分析: A:创建一个牌盒 B:装牌 C:洗牌 D:发牌 E:看牌 2. 代码实现: package cn.itcast_03; im ...
- Java 二维数组,排序、切换顺序,查表法二进制十进制,这班查找、排序(冒泡、选择)、遍历,获取最大小值(4)
Java 二维数组,排序.切换顺序,查表法二进制十进制,折半查找.排序(冒泡.选择).遍历,获取最大小值(4)
- 通过Java实现斗地主
功能:洗牌,发牌,对玩家手中的牌排序,看牌 package demo06; import java.util.ArrayList; import java.util.Collections; impo ...
随机推荐
- Linux Mini 安装 VMware Tools
1.挂载VMware Tools光盘 mount -t iso9660 /dev/cdrom /opt/ 2.安装依赖,安装Tools 将文件复制至 tmp目录解压VMwareTools-10.0.6 ...
- (转)@Autowire注解与自动装配
http://blog.csdn.net/yerenyuan_pku/article/details/52860713 前面我们已经学会使用@Resource注解注入属性,并且我们还编码剖析了@Res ...
- python中*号和**号的用法
1.乘法符号 2.可变长参数 当我们使用函数时,需要传入不定个数的位置参数时,就可以使用*号表示,即*args,以元组形式传入:需要传入不定个数的关键字参数时,使用**表示,即**kwargs,以字典 ...
- JOIN和UNION的区别
join 是两张表根据条件相同的部分合并生成一个记录集. SELECT Websites.id, Websites.name, access_log.count, access_log.dateFRO ...
- Spread / Rest 操作符
Spread / Rest 操作符指的是 ...,具体是 Spread 还是 Rest 需要看上下文语境. 当被用于迭代器中时,它是一个 Spread 操作符:(参数为数组) function foo ...
- PHP09 字符串和正则表达式
学习要点 字符串处理简介 常用的字符串输出函数 常用的字符串格式化函数 字符串比较函数 正则表达式简介 正则表达式语法规则 与perl兼容的正则表达式函数 字符串处理介绍 Web开发中字符串处理 ...
- sql实验
数据表xiami_1,结构如下: CREATE TABLE xiami_1( id ) not null auto_increment, singer ) not null, title ) not ...
- js事件默认行为
事件默认行为: 当一个事件发生的时候浏览器自己默认做的事情 怎么阻止? 当前这个行为是什么事件触发的,然后在这个事件的处理函数中使用 return false; 但是return false 阻止的是 ...
- 【问题探索日志】python 函数优化
# 事情是这样的,我写的一个程序帧率上不去. 然后发现了一个疑似有问题的地方,如下 def around(x,y): around_dict = {(i,j) for i in range(-1,2) ...
- python出现'module' object is not callable错误
