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 ...
随机推荐
- 常见的网络命令--ping.hostname
hostname命令 作用:显示以及设置主机名 一. 显示系统主机名 第一种方式:hostname 第二种方式:cat /etc/sysconfig/ntework 使用举例: 从上面可以看到我的系 ...
- ES5的数组方法
参考:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array Array.prot ...
- c++_加法变乘法
加法变乘法 我们都知道:1+2+3+ ... + 49 = 1225现在要求你把其中两个不相邻的加号变成乘号,使得结果为2015 比如:1+2+3+...+10*11+12+...+27*28+29+ ...
- 条款5:了解C++默默编写并调用哪些函数(Know what functions C++ silently writes and calls)
1.default costructor / copy constructor / copy assignment 者三者的区别? 特别是copy constructor & copy as ...
- VMware搭建内网并通过iptables端口转发联网
整体流程图 配置Server1 新建两块网卡 一块网卡设置为桥接模式,另外一块设置为仅主机模式 查看两块网卡配置 root@ubuntu:~# ifconfig ens33 Link encap:Et ...
- 框架之---Django
Django是功能最为健全的一个WEB框架,但就因为过于健全,显得过于臃肿.但是Django中最为正要的就是Middleware.ORM和From表单. Django之web本质 Django之初 D ...
- PADS规则设计-对某一网络/元件单独设置规则
转载请注明出处,并附带本文网址https://www.cnblogs.com/brianblog/p/9894867.html, 在PADS规则设计中可能会遇到某个走线与另一个走线之间的间距,普通规则 ...
- 【BZOJ 1084】 [SCOI2005]最大子矩阵(DP)
题链 http://www.lydsy.com/JudgeOnline/problem.php?id=1084 Description 这里有一个n*m的矩阵,请你选出其中k个子矩阵,使得这个k个子矩 ...
- 如何将表的行数赋值给变量(MySQL)
delimiter $$ drop procedure if exists test_at $$ create definer=root@localhost procedure test_at() b ...
- bootspring网站项目,Date类型插入数据库始终比正确时间早一天问题的解决
bug描述 昨天的Date插入不进去问题解决后,一直没发现其实插入的时间一直比正确的时间早一天 输出sql语句,发现insert语句还是对的,不知道为什么插入数据库之后结果就早了一天 https:// ...
