斗地主发牌并按大小排序

news/2024/11/16 12:55:36/

写这个代码的思路是
1.先创建54张牌的牌库,并给每张牌一个索引(使用map)
2.洗牌
3.取3张底牌,然后把牌发给3个玩家
4.根据索引排序,来实现玩家手牌的排序
代码如下

package com.zhongruan;import java.util.*;public class DouDiZhu1 {public static Map<Integer,String> qupai(){Map<Integer,String> map=new HashMap<>();String[] s1={"♣","♠","♥","◇"};String[] s2={"3","4","5","6","7","8","9","10","J","Q","k","A","2"};int index=-1;for (String i:s2){for (String j:s1){map.put(++index,i+j);}}map.put(++index,"dawang");map.put(++index,"xiaowang");return map;}public static List<List> fapai(List<Integer> a1,List<Integer> a2,List<Integer> a3,List<Integer> dipai,List<Integer> paiindex){List<List> list=new ArrayList<>();list.add(a1);list.add(a2);list.add(a3);list.add(dipai);dipai.add(paiindex.get(0));dipai.add(paiindex.get(1));dipai.add(paiindex.get(2));for (int i=3;i<54;i++){if (i%3==0){a1.add(paiindex.get(i));}else if (i%3==1){a2.add(paiindex.get(i));}else {a3.add(paiindex.get(i));}}return list;}public static void kanpai(List<Integer> list,Map<Integer,String> indexmap){for (Integer i:list){System.out.print(indexmap.get(i));}System.out.println();}public static void main(String[] args) {Map<Integer,String> indexmap=DouDiZhu1.qupai();List<Integer> paiindex=new ArrayList<>();paiindex.addAll(indexmap.keySet());Collections.shuffle(paiindex);List<Integer> a1=new ArrayList<>();List<Integer> a2=new ArrayList<>();List<Integer> a3=new ArrayList<>();List<Integer> dipai=new ArrayList<>();List<List> wanjia=DouDiZhu1.fapai(a1,a2,a3,dipai,paiindex);Collections.sort(a1);Collections.sort(a2);Collections.sort(a3);Collections.sort(dipai);DouDiZhu1.kanpai(a1,indexmap);DouDiZhu1.kanpai(a2,indexmap);DouDiZhu1.kanpai(a3,indexmap);DouDiZhu1.kanpai(dipai,indexmap);}
}

http://www.ppmy.cn/news/892778.html

相关文章

斗地主规则

规则介绍 一、游戏对垒&#xff1a; 斗地主一共有3位玩家&#xff0c;分为两个阵营。地主为一个阵营&#xff0c;其余两家为另一个阵营。双方对战&#xff0c;先出完的一方胜。 二、游戏牌型&#xff1a; 1、火箭&#xff1a;即双王&#xff08;双鬼牌&#xff09;&#xff0c;…

三人斗地主技巧

【精品】 宝典之一&#xff1a;心态——玩牌的心态很重要。千万不要和你的牌友争吵&#xff0c;即便他出错牌&#xff0c;你切不可张口骂人。要时刻记住&#xff1a;玩玩而已&#xff01; 宝典之二&#xff1a;算牌——新手大都没有算牌的习惯&#xff0c;我也一样。往往就会…

工具及方法 - 斗地主技巧

斗地主游戏起源 斗地主是流行于湖北武汉、汉阳一带的一种扑克游戏。游戏需由3个玩家进行&#xff0c;用一副54张牌(连鬼牌)&#xff0c;其中一方为地主&#xff0c;其余两家为另一方&#xff0c;双方对战&#xff0c;先出完牌的一方获胜。斗地主起源于湖北武汉汉阳一带&#xf…

Java Arrays类

Arrays类 介绍 用于管理或操作数组(比如排序和搜索) 常用方法 1、Arrays.toString(ints)&#xff1a;返回数组的字符串形式 int[] ints {1, 2, 3, 4, 5}; System.out.println(Arrays.toString(ints));2、sort排序(自然排序和定制排序) import java.util.Arrays; import …

【微信小程序创作之路】- 小程序窗口整体配置(导航栏、标题)

【微信小程序创作之路】- 小程序窗口导航栏配置 第五章 微信小程序窗口导航栏配置 文章目录 【微信小程序创作之路】- 小程序窗口导航栏配置前言一、入口文件的配置二、页面配置三、全局默认窗口配置1.navigationBarTitleText&#xff1a;导航栏标题文字2.navigationBarBackgr…

VS2012番茄助手安装破解教程

Visual Assist X 破解版使用步骤 先安装好VS2012 安装番茄助手Visual Assist X前要关掉微软相关所有的软件&#xff0c;比如VS2012或者VC6.0。 步骤一、运行【VA_X_Setup1918.exe】 步骤二、运行【vax_patch.exe】 复制破解补丁vax_patch.exe到Visual Assist的安装目录破解生…

VS下载密钥

VS2010 YCFHQ9DWCYDKV88T2TMHG7BHP 旗舰版下载地址&#xff1a; ed2k://|file|cn_visual_studio_2010_ultimate_x86_dvd_532347.iso|2685982720|4AE6228933DDE49D9BFA4C3467C831C2|/ VS2012 Microsoft Visual Studio Ultimate 2012 旗舰版&#xff0c;有效注册密钥&#xff…

2012 VS密钥

VS2012 正式版在Beta版的基础上进行了很多改进&#xff0c;尤其是加入了全新的用户界面。 VS2012 的硬件需求与VS2010相同&#xff0c;不过由于 Visual Studio 2012 利用了新版 Windows 的核心功能&#xff0c;因此它必须运行在 Win7 以上的操作系统&#xff0c;当然如果你打算…