java 斗地主 案例
package zyr.doudizhu;/*
* 54张牌 3个玩家 没人17张牌 最后3张留作底牌
* 1准备牌
* 2洗牌
* 3发牌
* 4看牌
* */import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;public class Doudizhu {public static void main(String[] args) {//1准备牌子//定义一个存储54牌的arraylist 泛型用stringArrayList<String> porker = new ArrayList<>();//定义2个数组 一个存储花色了另一个存储数字号码String[] color = {"♠","♥","♣","♦"};String[] nums = {"2","1","K","Q","J","10","9","8","7","6","5","4","3"};//先存储进去大王小王porker.add("大王");porker.add("小王");//遍历然后把牌放进去for(String col:color){for(String num:nums){porker.add(col+num);}}//洗牌Collections.shuffle(porker);// for (String sb:porker){
//
// System.out.println(sb);
// }//发牌//定义4个结合 存储玩家的牌和底牌ArrayList<String> player01 = new ArrayList<>();ArrayList<String> player02 = new ArrayList<>();ArrayList<String> player03 = new ArrayList<>();ArrayList<String> dipai = new ArrayList<>();for(int i=0;i<porker.size();i++){//获取每一张牌String p = porker.get(i);if (i>=51){dipai.add(p);}else{if(i%3==0){player01.add(p);}else if(i%3==1){player02.add(p);}else{player03.add(p);}}}//展示牌show(player01,"玩家1");show(player02,"玩家2");show(player03,"玩家3");show(dipai,"底牌");//java的arraylist 可以直接输出System.out.println("玩家1"+player01);System.out.println("玩家2"+player02);System.out.println("玩家3"+player03);System.out.println("底牌"+dipai);}private static void show(ArrayList<String> arr,String name){for(String pai:arr){System.out.println(name+pai);}System.out.println("=================");}
}
输入结果如下
D:\jdk9\bin\java "-javaagent:D:\javaidea\IntelliJ IDEA 2017.3.4\lib\idea_rt.jar=11366:D:\javaidea\IntelliJ IDEA 2017.3.4\bin" -Dfile.encoding=UTF-8 -classpath D:\javacode\out\test\day01;D:\javacode\out\production\day01 zyr.doudizhu.Doudizhu
玩家1♥7
玩家1♥3
玩家1♦7
玩家1♣6
玩家1♠J
玩家1♥4
玩家1♣1
玩家1♣3
玩家1♦4
玩家1♦8
玩家1♥10
玩家1♥8
玩家1♠K
玩家1♣5
玩家1♠Q
玩家1♦Q
玩家1♦9
=================
玩家2♥K
玩家2♠2
玩家2♥2
玩家2♠7
玩家2♠10
玩家2♥1
玩家2♣J
玩家2♠5
玩家2♣2
玩家2♦J
玩家2♥Q
玩家2♣10
玩家2♠3
玩家2♠4
玩家2♣9
玩家2♣4
玩家2♦1
=================
玩家3♣K
玩家3♥J
玩家3♣Q
玩家3小王
玩家3大王
玩家3♦10
玩家3♦2
玩家3♠6
玩家3♥6
玩家3♠1
玩家3♦6
玩家3♦5
玩家3♣8
玩家3♦3
玩家3♥9
玩家3♥5
玩家3♠9
=================
底牌♣7
底牌♦K
底牌♠8
=================
玩家1[♥7, ♥3, ♦7, ♣6, ♠J, ♥4, ♣1, ♣3, ♦4, ♦8, ♥10, ♥8, ♠K, ♣5, ♠Q, ♦Q, ♦9]
玩家2[♥K, ♠2, ♥2, ♠7, ♠10, ♥1, ♣J, ♠5, ♣2, ♦J, ♥Q, ♣10, ♠3, ♠4, ♣9, ♣4, ♦1]
玩家3[♣K, ♥J, ♣Q, 小王, 大王, ♦10, ♦2, ♠6, ♥6, ♠1, ♦6, ♦5, ♣8, ♦3, ♥9, ♥5, ♠9]
底牌[♣7, ♦K, ♠8]
java 斗地主 案例相关推荐
- JAVA斗地主案例(单列)
JAVA斗地主案例(单列) 一.案例分析 二.代码实现 一.案例分析 准备牌 扑克牌:54张 特殊派:大王,小王 花色:"♥","♠","♣" ...
- Java(斗地主案例)
斗地主案例的需求分析 斗地主案例的代码实现 package com.itheima.demo04.Test;import java.util.ArrayList; import java.util.C ...
- java斗地主案例,没有界面
import java.util.ArrayList; import java.util.Collections; public class Duodizhu { /* 准备牌 定义一个放52张牌的集 ...
- 斗地主 java思路_使用Java实现简单的斗地主案例
使用Java实现简单的斗地主案例 案例说明:使用Java实现简单的斗地主洗牌发牌的操作: 具体规则: 共有54张牌,顺序打乱: 三个玩家参与游戏,三人交替摸牌,每人17张牌,最后留三张为底牌(地主牌) ...
- Java实现简单的斗地主案例(超详细代码)
案例说明:使用Java实现简单的斗地主洗牌发牌的操作 具体规则: 共有54张牌,顺序打乱: 三个玩家参与游戏,三人交替摸牌,每人17张牌,最后留三张为底牌(地主牌). 源码实现: /** 斗地主案例: ...
- java基础-Map集合、Collections集合、斗地主案例
1.Map集合 1.1Map集合概述和特点 Map集合概述 interface Map<K,V> K:键的类型:V:值的类型 Map集合的特点 (1)键值对映射关系 (2)一个键对应一个值 ...
- string转map集合_Map、斗地主案例
一.Map方法 import java.util.HashMap; import java.util.Map; public class Demo01 {public static void main ...
- Map案例总结-斗地主案例
Map案例总结-斗地主案例 Map集合元素是成对存在,每个元素分为键和值两部分,合在一起则称"键值对". Map斗地主这个案例用HashMap集合将54张扑克牌存储,然后随 ...
- 代码检查规则:Java语言案例详解
本节课程为<代码检查规则:Java语言案例详解>, 通常情况下Java的代码检查规则可以分为以下十类: 接下来,让我们具体来看看每个分类的内容. 一.源文件规范 该类规范主要从文件名.文件 ...
最新文章
- 【VMCloud云平台】SCAP(四)连接公有云(一)
- python命令行参数处理
- 钉钉产品介绍_钉钉上线安全教育新功能家校联动护航学生暑期安全
- 重磅公开!36个高考数学破题大招
- 耗时1周!精选22G超超超适合产品经理的《数据分析》学习资源,抓紧保存!限时2天删除~...
- Python采集知乎小姐姐图片,打造颜颜值排行榜!
- MySQL数据库---(1)win10 免安装MySQL 教程
- ios12上滑关闭程序动画_苹果iOS 12.3正式版发布:上滑清除程序动画重新回归
- 基于JAVA+SpringMVC+Mybatis+MYSQL的药方中医管理系统
- 820. 单词的压缩编码
- Kubernetes中Secret使用详解
- calendar获取本周一的日期_Java日期时间API系列1-----Jdk7及以前的日期时间类
- 解析OA系统易用性的价值和意义
- 图像处理之图像质量评价指标PSNR(峰值信噪比)
- C# 扫描识别图片中的文字(.NET Framework)
- 服务器虚拟化的毕业设计,虚拟化技术毕业论文题目精选
- qtdesigner添加菜单栏工具栏及监听事件
- Invalid handle returned
- 官方确认索尼PS5创史上最佳首发记录 国行版可能要2021年见
- php获取星座对应的日期,获取生日对应星座的PHP函数
热门文章
- 集成学习——NGBoost论文研读与原理理解
- 给 Sublime Text3 添加右键菜单
- Hadoop环境的配置搭建和基本概念
- git log 提交日志及图形化显示
- getAttribute和getParameter的区别
- 牙齿间隙变大怎么办_牙齿缝隙大怎么办 5个方法解决牙齿缝隙大
- es管理器免root_OPPO手机免ROOT更换系统字体教程-适合大部分OPPO机型
- 的称重在哪里_如何申请条形码,条形码在哪里申请办理
- ct上的img表示什么_工业CT检测的精度
- 计算机网络中流的定义,计算机网络的基本概念-Read.PPT