本文实例为大家分享了Java实现斗地主的具体代码,供大家参考,具体内容如下

package com.westos.chinesePoker;

import java.util.ArrayList;

import java.util.Collections;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

import java.util.Set;

import java.util.TreeSet;

/**

*加强版的斗地主 EnhancedVersion

*在version1.0的基础上加入扑克排序.

* @author 虎虎

* @version 2.0

*/

public class ChinesePokerEnhanced {

public static void main(String[] args) {

//0-53代表每个对应的扑克

Map map = new HashMap();

List list = new ArrayList<>();

String[] color = {"♥","♠","♣","◆"};

String[] num = {"A","2","3","4","5","6","7","8","9","10","J","Q","K"};

for(String str:num) {

for(String str1:color) {

String poker = str1.concat(str);

list.add(poker);

}

}

list.add("♀");

list.add("♂");

for(int i=0;i<54;i++) {

map.put(i, list.get(i));

}

Set keyset = map.keySet();

List list1 = new ArrayList<>();

for(Integer count:keyset){

list1.add(count);

}

//洗牌三次

Collections.shuffle(list1);

Collections.shuffle(list1);

Collections.shuffle(list1);

Set player01 = new TreeSet<>();

Set player02 = new TreeSet<>();

Set player03 = new TreeSet<>();

Set dipai = new TreeSet<>();

//发牌

for(int i=0;i

if(i<51&&i%3 == 0) {

player01.add(list1.get(i));

}

if(i<51&&i%3 == 1) {

player02.add(list1.get(i));

}

if(i<51&&i%3 == 2) {

player03.add(list1.get(i));

}if(i>=51)

dipai.add(list1.get(i));

}

//玩家一的牌

System.out.println("玩家一:");

for(Integer i:player01) {

System.out.print(map.get(i)+" ");

}

System.out.println("\n玩家二:");

//玩家二的牌

for(Integer i:player02) {

System.out.print(map.get(i)+ " ");

}

System.out.println("\n玩家三:");

//玩家三的牌

for(Integer i:player03) {

System.out.print(map.get(i)+ " ");

}

System.out.println("\n底牌:");

//玩家一的牌

for(Integer i:dipai) {

System.out.print(map.get(i)+ " ");

}

}

}

更多精彩游戏,请参考专题《java经典小游戏》

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自学编程网。

java版斗地主_Java实现斗地主简化版相关推荐

  1. 我的世界JAVA版编程语言_Java版版本记录/开发版本

    此页面并非官方版本记录或更新日志.官方日志请见Minecraft官网. 关于1.11及此前版本,请见Mojang官网. 关于Beta 1.8及此前版本,请见Notch的博客,Word of Notch ...

  2. java 斗地主_java实现斗地主游戏

    感想: 第一次写博客,感觉编辑器挺复杂厉害的,感觉自己的内容挺简单的.有什么问题请多多指教! 思路: 1.创建一个扑克牌的实体类Poker,设置了四个参数:花色.数字.牌值(判断大小).是否地主牌,实 ...

  3. 植物大战僵尸java版视频_Java小项目之:植物大战僵尸,这个僵尸不太冷!

    植物卡片框 */ public class PlantsBar implements GuiConstnat { // 卡片格子数量 private int plantSum; // 太阳数量和卡片选 ...

  4. 数独java界面基础_java版数独游戏界面实现(二)

    本文实例为大家分享了java版数独游戏界面实现的具体代码,供大家参考,具体内容如下 实现效果图: 这里写图片描述 主函数用于启动程序: package hlc.shudu.app; import hl ...

  5. java循环队列_Java版-数据结构-队列(循环队列)

    前情回顾 在上一篇,笔者给大家介绍了数组队列,并且在文末提出了数组队列实现上的劣势,以及带来的性能问题(因为数组队列,在出队的时候,我们往往要将数组中的元素往前挪动一个位置,这个动作的时间复杂度O(n ...

  6. java微信机器人_Java版微信机器人代码

    Java版微信机器人代码 (2014-07-31 09:47:58) 标签: 软件测试 java 上海泽众软件 package com.eiyoung.wechat.web.controller; i ...

  7. 实验楼Java写计算器_Java版图形界面计算器

    Java 版图形界面计算器 实验说明及介绍 环境登录 无需密码自动登录,系统用户名 shiyanlou,密码 shiyanlou 环境介绍 本实验环境采用带桌面的 Ubuntu Linux 环境,实验 ...

  8. java版的俄罗斯方块_Java版俄罗斯方块

    Java版俄罗斯方块 08年写的一个Java版俄罗斯方块程序 界面做的中规中矩,每种形状颜色都不相同 程序控制还可以,没什么大的Bug 消磨时间的时候可以Down下来玩玩 下载链接:http://do ...

  9. java 线性计算器_java版科学计算器,支持表达式计算

    <java版科学计算器,支持表达式计算>由会员分享,可在线阅读,更多相关<java版科学计算器,支持表达式计算(12页珍藏版)>请在人人文库网上搜索. 1.程序设计综合设计题目 ...

最新文章

  1. python第三方开发软件_python开发者的必备工具(一)
  2. AI创业周报:元宇宙时代来临!环球墨非风头正盛,53岁女博士领现象级芯片公司获数亿元融资...
  3. oracle cluster n,10g Rac的cluster_interconnect信息
  4. 【java开发系列】—— 嵌套类与内部类
  5. MATLAB系统命令
  6. java对象序列化克隆_Java8基础知识(三)对象克隆与序列化
  7. mysql group by 区分null 值和非null_你知道mysql中空值和null值的区别吗
  8. 想念一个人是一种温馨,被别人想念是一种幸福
  9. kafka原理_Kafka 架构原理,也就这么回事
  10. Kelvin云层效果Ps笔刷
  11. day-60Django
  12. 图文教你选择和区别A卡和N卡
  13. 打开计算机 显示不支持此接口,新装的电脑系统,打开图片提示不支持此接口!怎么解决!...
  14. wifi自动连接,断开连接,打开和关闭,亲测有效
  15. 捋一捋Condition
  16. 【C++】 文件提取英文单词
  17. 百度云轻量应用服务器LS从购买到web应用nginx搭建部署全流程--你值得拥有的入门级教程
  18. OSI的7层模型和TCP/IP四层模型
  19. 服务器虚拟化和网络虚拟化关系,数据中心网络如何应对服务器虚拟化?
  20. Google SEO优化排名常见的三种问题

热门文章

  1. 2019年考研总结与新一年的展望
  2. C++的三种实例化对象方式
  3. 蜜罐技术怎样区分正常用户和黑客
  4. 梅飞飞飞的假期学习日记DAY7
  5. vue获取css内容进行替换_Vue获取DOM元素样式和样式更改示例
  6. App Store修改开发者名字
  7. 计算机选做实验原理,实验一计算机组成原理
  8. vue2.0的初始项目的建立
  9. IDEA开发工具的安装及使用
  10. Milo源码解析(二)