当前位置: 首页 > news >正文

Java小实验————斗地主

 早期使用的JavaSE用到的技术栈有:Map集合,数组,set集合,只是简单实现了斗地主的模拟阶段,感兴趣的小伙伴可以调试增加功能

代码如下:

import java.util.*;public class Poker {public static void main(String[] args){/*数字对应编号*/Map<Integer,String> pokermap = new HashMap<>();/*记录54个牌的编号*/List<Integer> pokernumber = new ArrayList<>();/*1.准备牌的阶段0--大王,,1--小王*/int ideax=0;//初始化扑克牌编号pokermap.put(ideax,"大王");pokernumber.add(ideax);ideax++;pokermap.put(ideax,"小王");pokernumber.add(ideax);ideax++;String[] color = {"♣","♦","♥","♠"};String[] number = {"A","2","3","4","5","6","7","8","9","10","J","Q","K"};for (int i = 0; i <number.length; i++) {for (int j=0;j<color.length;j++){pokermap.put(ideax,color[j]+number[i]);pokernumber.add(ideax);ideax++;}}/*2.洗牌阶段利用collections工具类解决*/Collections.shuffle(pokernumber);//随机打乱顺序//System.out.println(pokernumber);/*3.发牌阶段*///定义三个玩家和底牌TreeSet<Integer> player1 = new TreeSet<>();TreeSet<Integer> player2 = new TreeSet<>();TreeSet<Integer> player3= new TreeSet<>();TreeSet<Integer> dp= new TreeSet<>();for (int i = 0; i <pokernumber.size(); i++) {if(i>50){dp.add(pokernumber.get(i));} else if (i%3==0) {player1.add(pokernumber.get(i));} else if (i%3==1) {player2.add(pokernumber.get(i));} else if (i%3==2) {player3.add(pokernumber.get(i));}}/*4.用户玩家看牌阶段*/lookpoker("张三",player1,pokermap);lookpoker("李四",player2,pokermap);lookpoker("IU",player3,pokermap);lookpoker("底牌",dp,pokermap);}private static void lookpoker(String name, TreeSet<Integer> player, Map<Integer, String> pokermap) {System.out.println(name+"手中的牌为:");for(Integer pokerNumber : player){String poker =  pokermap.get(pokerNumber);System.out.print(poker);}System.out.println();}}

http://www.lryc.cn/news/379642.html

相关文章:

  • 【Oracle】Linux 卸载重装 oracle 教程(如何清理干净残留)系统 CentOS7.6
  • web中间件漏洞-Jenkins漏洞-弱口令、反弹shell
  • Linux开发讲课9--- Linux的IPC机制-内存映射(Memory Mapping)
  • Java赋值运算符
  • Qt做群控系统
  • 【专业英语 复习】第10章 Information System
  • 09-axios在Vue中的导入与配置
  • odoo17 小变更4
  • Flink assignTimestampsAndWatermarks 深度解析:时间语义与水印生成
  • C++排序算法——合并有序数组
  • 安装pytorch环境
  • 内卷从古到今就一直存在,并不是近年的“新物”,破局在于你是否有意识地学习。
  • 跟《经济学人》学英文:2024年6月15日这期 The war for AI talent is heating up
  • 港湾周评|高盛眼中的618增长
  • SPSS知识
  • 【网络安全的神秘世界】关于Linux中一些好玩的字符游戏
  • 【LeetCode】Hot100:验证二叉搜索树
  • [Qt] Qt Creator 编译输出乱码,问题页中的报错、警告内容,编译输出乱码
  • sed
  • C++一文讲透thread中的detach和join的差别
  • 当Windows台式电脑或笔记本电脑随机关机时,请先从这8个方面检查
  • 【凤凰房产-注册安全分析报告-缺少轨迹的滑动条】
  • 【建议收藏】逻辑回归面试题,机器学习干货、重点。
  • C++使用教程
  • k8s volcano + deepspeed多机训练 + RDMA ROCE+ 用户权限安全方案【建议收藏】
  • 设计模式(七)创建者模式之建造者模式
  • # class中的__call__方法解析
  • React逻辑复用的方式都有哪些
  • 【LinuxC语言】线程重入
  • 【Streamlit学习笔记】Streamlit-ECharts箱型图添加均值和最值label