package cn.hp.demo01;import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;/*
*
* 模拟扑克牌
花色:♠  ♥   ♦   ♣*    牌号:A 2 3 4 5 6 7 8 9 10 J Q K*    大王、小王**  1.生成一副牌*  2.然后发牌
*   */
public class Demo03 {public static void main(String[] args) {//牌库List<String> poker = new ArrayList<>();String[] color={"♠","♥","♦","♣"};//添加牌poker.add("大王");poker.add("小王");for (int i =0;i<color.length;i++){poker.add(color[i]+"2");}for (int i =0;i<color.length;i++){poker.add(color[i]+"A");}for (int i =0;i<color.length;i++){poker.add(color[i]+"K");}for (int i =0;i<color.length;i++){poker.add(color[i]+"Q");}for (int i =0;i<color.length;i++){poker.add(color[i]+"J");}//10-3for (int i = 10;i>=3;i--){for (int j = 0;j<color.length;j++){poker.add(color[j]+i);}}System.out.println("poker = "+poker);//发牌?3个玩家,3张底牌List<String> p1 = new ArrayList<>();List<String> p2 = new ArrayList<>();List<String> p3 = new ArrayList<>();List<String> p0 = new ArrayList<>();//底牌Collections.shuffle(poker);//洗牌,打乱顺序System.out.println("poker = "+poker);for (int i = 0;i<poker.size();i++){//发给3个人,三进制:0 1 2if (i%3==0){p1.add(poker.get(i));}else if (i%3==1){p2.add(poker.get(i));}else if (i%3==2){p3.add(poker.get(i));}}//显示三个人的牌p0.add(poker.get(poker.size()-1));p0.add(poker.get(poker.size()-2));p0.add(poker.get(poker.size()-3));//显示三个人的牌System.out.println("玩家1手牌["+p1.size()+"张]:"+p1);System.out.println("玩家1手牌["+p2.size()+"张]:"+p2);System.out.println("玩家1手牌["+p3.size()+"张]:"+p3);System.out.println("底牌["+p0.size()+"张]");//出单张牌int p=1;//1:玩家1,2:玩家2,3:玩家3while (true){System.out.println("玩家"+p+"出牌");if (p==1){System.out.println("手牌:"+p1);System.out.println("请玩家1输入要出的第几张牌");int n = new Scanner(System.in).nextInt();System.out.println("玩家1出牌:"+p1.get(n-1));p1.remove(n-1);//改玩家2p=2;}//玩家2if (p==2){System.out.println("手牌:"+p2);System.out.println("请玩家2输入要出的第几张牌");int n = new Scanner(System.in).nextInt();System.out.println("玩家2出牌:"+p2.get(n-1));p2.remove(n-1);//改玩家3p=3;}//玩家3if (p==3){System.out.println("手牌:"+p3);System.out.println("请玩家3输入要出的第几张牌");int n = new Scanner(System.in).nextInt();System.out.println("玩家3出牌:"+p3.get(n-1));p3.remove(n-1);//改玩家1p=1;}if (p1.size()==0||p2.size()==0||p3.size()==0){System.out.println("GAME OVER");break;}}}
}

模拟扑克牌花色:♠ ♥ ♦ ♣ * 牌号:A 2 3 4 5 6 7 8 9 10 J Q K * 大王、小王 * * 1.生成一副牌 * 2.然后发牌相关推荐

  1. 2021-12-08:扑克牌中的红桃J和梅花Q找不到了,为了利用剩下的牌做游戏,小明设计了新的游戏规则: 1) A,2,3,4....10,J,Q,K分别对应1到13这些数字,大小王对应0; 2) 游

    2021-12-08:扑克牌中的红桃J和梅花Q找不到了,为了利用剩下的牌做游戏,小明设计了新的游戏规则: A,2,3,4-10,J,Q,K分别对应1到13这些数字,大小王对应0; 游戏人数为2人,轮流 ...

  2. 假定一副新扑克牌的顺序为:大王、小王、黑桃A,2,3,…,T,J,Q,K、红心A,2,3,…,T,J,Q,K、方块 A,2,3,…,T,J,Q,K、梅花A,2,3,…,T,J,Q,K。现将两副扑克牌摞

    (1) 假定一副新扑克牌的顺序为:大王.小王.黑桃A,2,3,-,T,J,Q,K.红心A,2,3,-,T,J,Q,K.方块A,2,3,-,T,J,Q,K.梅花A,2,3,-,T,J,Q,K.现将两副扑 ...

  3. 求赌王的密码 【问题描述】 赌王喜欢“A”,密码由6行6列扑克牌中每行“A”的位置数字组合而成。扑克牌点数由1~9,J,Q,K,A组成,每行的扑克牌中最多只能出现一次“A”;也可能没有“A”,

    题头的话:长按点赞可私我赠送50+本C与C++书籍电子书资源 求赌王的密码 [问题描述] 赌王喜欢"A",密码由6行6列扑克牌中每行"A"的位置数字组合而成.扑 ...

  4. c语言扑克牌随机发三张牌,扑克牌发三张概率组合一副扑克牌52张(不含大、小王),发三张牌,一共多少种组合.另外:1)三张中含一对的组合有多少张?(...

    共回答了20个问题采纳率:95% 这个题目我喜欢 所有组合为:C(52,5) 1.A组为三张不关联明牌,组合:52*48*44,与B组二张暗牌组成一个对子.B的组合为:(12-3)*(52-12).概 ...

  5. Java项目:模拟扑克牌洗牌发牌排序

    用JAVA实现简单的扑克牌洗牌发牌并排序,首先写代码之前需要明确需要分哪些步骤: 创建一个HashMap集合对象 创建一个ArrayList集合对象 生成一副扑克牌 将扑克牌按照键值关系添加到Hash ...

  6. 模拟扑克牌,随机抽取五张牌,判断是否为同花顺

    今天去面试,遇到这个面试题,当时想法想通了,我跟面试官说给我半小时,但是超时了没写出来. 回来复盘一下~ 思路步骤: ①创建map容器存储扑克牌key为牌的索引,value为牌的值 ②按照同花顺顺序存 ...

  7. Java实验-02 模拟扑克牌游戏的洗牌

    结合面向对象设计原则,分析和设计模拟扑克牌游戏的洗牌过程. 编程定义一个表示扑克牌的类 Poke,用 suit 来表示扑克牌的花色,用 face 来表示扑克牌的 牌面值,每副牌为 52 张,不考虑包含 ...

  8. Java将扑克牌花色和数字组合成52张扑克牌集合 并完成在牌堆中抽牌的操作

    #JavaSe# 在只有扑克牌颜色数组和数字数组的情况下,合成扑克牌,并且完成抽牌操作 定义一个扑克牌类 public class Card {private String[] point={&quo ...

  9. 用java制作扑克牌_Java模拟扑克牌洗牌实现生成52张扑克的方法示例

    本文实例讲述了Java模拟扑克牌洗牌实现生成52张扑克的方法.分享给大家供大家参考,具体如下: 要求: 生成52张扑克,模拟扑克牌洗牌,并输出. 实现代码: package com.NCU.ZHANG ...

  10. 模拟扑克牌游戏的洗牌

    大家都很喜欢玩扑克牌,那么如果面试官让你用计算机模拟一个扑克游戏的发牌或者洗牌,你会怎么做呢? 代码如下: #include<stdio.h> #include<stdlib.h&g ...

最新文章

  1. git 使用和一些错误
  2. 硅谷产品实战-总结:20、想要增长,你的团队需要高效的工作流
  3. MySQL Packet for query is too large
  4. 初级和高级产品运营的分水岭指标:大局观和节奏感
  5. peripheralStateNotificationCB
  6. 前端学习(3335):ant design中按钮尺寸的大小
  7. [html] 列举下哪些块元素里面不能放哪些块元素呢?
  8. pythonpyquery去掉br_如何在将pyquery对象转换为字符串时取消特殊字符的转义
  9. 使用vue-cli3搭建项目详细步骤
  10. SqlServer中获取字符串中的数字部分
  11. 此操作要求使用 IIS 集成管线模式
  12. 众昂矿业:萤石行业发展四大趋势
  13. java sql简易注入测试
  14. 如何学习硬件设计——理论篇
  15. 计算机音乐苹果铃声,iPhone实用技巧:怎么将抖音上的背景音乐制作成手机铃声-苹果手机铃声设置...
  16. 编程语言的分类,以及网络瓶颈效应
  17. ABP VNext学习日记17
  18. 2018年 团体程序设计天梯赛——题解集
  19. 实验三 敏捷开发与XP实践 实验报告 20135232王玥
  20. Mac办公软件office等安装包

热门文章

  1. 网络广告效果的评估方法
  2. maven项目中JRE System Library Problem J2SE-1.5问题
  3. MyBatis crud练习
  4. 什么是Promise
  5. HUAWEI 机试题:黑板上的数涂颜色
  6. 程序员是做全栈工程师好?还是专注一个领域好?
  7. 阿里中间件技术专家魏鹏:基于Java容器的多应用部署技术实践
  8. 软件系统部署手册模版
  9. 由《掟上今日子的备忘录》引发的联想
  10. UML-包图中包与包之间的关系