首页 > 其他分享 >新模拟斗地主

新模拟斗地主

时间:2024-03-18 18:24:16浏览次数:16  
标签:begin String 斗地主 al add hm 模拟 TreeSet

import java.util.*;

public class Main {
public static void main(String[] args) {
HashMap<Integer, String> hm = new HashMap<Integer, String>();

ArrayList<Integer> al = new ArrayList<>();


//扑克牌(♦ ♣ ♠ ♥)
String[] color = {"♦", "♣", "♠", "♥"};

//牌号(2,3,4,5,6,7,8,9,10,J,Q,K,A)
String[] paihao = {"2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K", "A"};
//大王小王
int begin = 0;
for (String p : paihao) {
for (String c : color) {

hm.put(begin, c + p);
al.add(begin);
begin++;
}
}

hm.put(begin, "大王");
al.add(begin);
begin++;
hm.put(begin, "小王");
al.add(begin);
Collections.shuffle(al);
//三个人

System.out.println(al);

TreeSet<Integer> zsf = new TreeSet<>();
TreeSet<Integer> jcs = new TreeSet<>();
TreeSet<Integer> zxt = new TreeSet<>();
TreeSet<Integer> dp = new TreeSet<>();

for (int i = 0; i < al.size(); i++) {
Integer i1 = al.get(i);
if (i >= al.size() - 3) {
dp.add(i1);
} else if (i % 3 == 0) {
zsf.add(i1);
} else if (i % 3 == 1) {
zxt.add(i1);
} else if (i % 3 == 2) {
jcs.add(i1);
}
}

show("zsf", zsf, hm);
show("jcs", jcs, hm);
show("zxt", zxt, hm);
show("dp", dp, hm);
}

public static void show(String demos, TreeSet<Integer> demots, HashMap<Integer, String> demohm) {
System.out.print(demos + "的牌是");
for (Integer i : demots) {
String s = demohm.get(i);
System.out.print(s + " ");
}
System.out.println();
}
}

标签:begin,String,斗地主,al,add,hm,模拟,TreeSet
From: https://www.cnblogs.com/zhaoshengfu/p/18081123

相关文章

  • 模拟斗地主
    importjava.util.ArrayList;importjava.util.Collections;publicclassMain{publicstaticvoidmain(String[]args){//模拟斗地主的洗牌发牌看牌;//创建扑克牌ArrayList<String>arrayList=newArrayList<>();//扑克牌(♦♣♠♥)......
  • 51单片机模拟十字路口红绿灯小课设
    如需要源文件可以添加qq群聊获取:662177587文章目录概要整体架构流程技术细节小结概要实际设计图设计内容   本课题对基于单片机的交通灯控制系统进行设计。以单片机为控制核心,设计并制作交通灯控制系统,用于十字路口的车辆及行人的交通管理。东西南北四个路口通......
  • LY1165 [ 20230324 CQYC省选模拟赛 T3 ] 迷雾
    题意求有多少种长度为\(N\)的满足以下条件的序列。是一个\(1\simN\)的排列。至少进行\(K\)次操作后,该序列才含有一个元素。\(N\le1000\)Sol首先因为序列是一个排列,所以操作次数不会太多。操作次数大概在\(\logN\)的级别。不难注意到对于一个数列,剩下的只......
  • ssm/php/node/python学生竞赛模拟系统
    本系统(程序+源码)带文档lw万字以上  文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义选题背景:在当前的教育环境中,学生竞赛已经成为衡量学生学术能力和创新思维的重要手段。随着科技的发展,越来越多的竞赛采用了线上模拟系统来进行,其中4x1nt学生竞赛......
  • RISC-V CPU管道模拟
    RISC-VCPU管道模拟1.简介RISC-V是源自伯克利的开源架构和指令集标准。该项目要求您基于标准的五阶段管道实现RISC-VCPU管道模拟器。您需要从RISC-V规范2.2中指定的RV32I指令设置中实现指令的子集。实施完整的CPU模拟器可以有效地行使系统编程功能,并加深对与建筑有关的知识......
  • 46. 携带研究材料(第六期模拟笔试)
    #include<stdio.h>#include<stdlib.h>intmax(inti,intj){if(i>j)returni;returnj;}intmain(){intm,n;scanf("%d%d\n",&m,&n);int*value=(int*)malloc(sizeof(int)*m);int*space=(int*)mall......
  • YC260A [ 20240317 CQYC省选模拟赛 T1 ] 伙伴(aka)
    题意给定一张无自环、重边的不连通图。让你把这个图加上一些边成为若干个环。每个节点的权值为相邻两条边为原图上的边的个数-1。求所有点的权值和最大的权值。Sol考虑拆点。集中注意力,发现连边后形成一个二分图。既然要权值最大,肯定要让原图的边留下最多。直接做最大......
  • 2023年蓝桥杯模拟省赛——列名
    目录题目链接:2.列名-蓝桥云课(lanqiao.cn)思路高级思路:进制转换难点一难点二难点三总结题目链接:2.列名-蓝桥云课(lanqiao.cn)思路先来看我的暴力的思路吧主要有以下步骤:初始化一个长度为3的数组res用于存放结果,并且定义一个变量 p 表示目前数组中的......
  • CMOS模拟集成电路
    模拟集成电路(Baker)9.ModelsforAnalogDesign9.0绪论长沟器件(square-law)短沟器件(aredevelopedwithgraphsshowingdevicecharacteristics)MOSFET的噪声模型9.1Long-ChannelMOSFETs9.1.1TheSquare-LawEquations常识:Oftenthecontrollingparameterinase......
  • 【雷达】基于matlab模拟多普勒雷达信号处理
     ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,代码获取、论文复现及科研仿真合作可私信。......