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

Java用集合实现斗地主小游戏 - Kight

需求如下

54张牌
每人得17张,留三张底牌

代码实现

Poker.java
public class Poker {public static void main(String[] args) {String[] colors = {"♠","♥","♣","♦"};String[] numbers = {"A","2","3","4","5","6","7","8","9","10","J","Q","K"};ArrayList<String> poker = new ArrayList<>();for (String number : numbers) {for (String color : colors) {poker.add(color+number);}}poker.add("🃏");poker.add("👲");Collections.shuffle(poker);//创建三个玩家ArrayList<String> player1 = new ArrayList<>();ArrayList<String> player2 = new ArrayList<>();ArrayList<String> player3 = new ArrayList<>();ArrayList<String> diPai = new ArrayList<>();for (int i = 0; i < poker.size(); i++) {if(i>=51){diPai.add(poker.get(i));}else if(i%3==0){player1.add(poker.get(i));}else if(i%3==1){player2.add(poker.get(i));}else if(i%3==2){player3.add(poker.get(i));}}TreeMap<String, String> player = new TreeMap();player.put("player1",player1.toString());player.put("player2",player2.toString());player.put("player3",player3.toString());System.out.println("底牌:"+diPai);Random random = new Random();int index = random.nextInt(3);String playerName = (String) player.keySet().toArray()[index];player.put(playerName,player.get(playerName)+diPai.toString());for (Map.Entry<String, String> entry : player.entrySet()) {System.out.println(entry.getKey()+":"+entry.getValue());}}}

总结

需求具体化(做牌,打乱牌,发牌,亮底牌(随机抽选一个人获得底牌),全员展示牌)

http://www.jsqmd.com/news/525004/

相关文章:

  • 多邻国客服咨询AI流量赋能,重塑智能体验新标杆 - 王老吉弄
  • 90%的AI创业BP被VC秒删,因为创始人犯了同一个致命错误
  • 2026年玻纤天花板厂家权威推荐榜:高性价比品牌+优质供应商全解析 - 品牌推荐大师1
  • OSM道路数据里的‘fclass’字段到底怎么用?一份给GIS新手的标签解读与筛选指南
  • 上海忱臻客服咨询AI流量赋能,重塑智能体验新标杆 - 王老吉弄
  • 14|多模态入门:图像/文档如何进入工作流
  • TI毫米波雷达IWR1843的基础知识
  • OpenCL零基础笔记3
  • 云曦26开学考复现
  • 生产环境同时连接数上升问题分析
  • 单细胞数据分析避坑指南:如何用Seurat V5搞定细胞周期矫正与双胞体过滤
  • 【Win10 部署私有 Git 服务器 (Gogs) 完全指南】
  • 力扣刷题——226.翻转二叉树
  • 鸿蒙开发工程师职位深度解析与面试指南
  • 人工智能赋能中小企业高质量发展研究报告
  • 进程的控制
  • 正点原子ATK-Logic软件实战:从DL16PLUS硬件连接到SPI协议深度解码
  • Cell新发现!兴奋剂ADHD药物的作用机制与之前想象不同
  • 什么是 OpenClaw?
  • Zephyr SMF轻量状态机裸机移植实战
  • Win11 WSL2下CentOS9-Stream保姆级安装指南:从零配置到Docker实战
  • VitePress导航栏避坑指南:动态菜单配置与选中状态失效解决方案
  • 缺页异常基于malloc()来进行分析调用栈及分配标志位
  • 吉鹿购客服咨询AI流量赋能,重塑智能体验新标杆 - 王老吉弄
  • 具身智能第1章
  • Citra模拟器全面解析:开源3DS游戏模拟平台的技术实现与应用指南
  • 最小生成树(MST)详解:定义、算法与核心性质
  • 原位植物茎流测定仪哪家好?2026推荐品牌与厂家综合测评 - 品牌推荐大师1
  • IDM抓取网页动态资源
  • Matlab完整源码和数据 1.基于WOA-TCN-BiGRU-Attention鲸鱼算法优化...