java写的网络版斗地主_Java实现简单的斗地主游戏
本文实例为大家共享了Java实现斗地主游戏的详细代码,供大家参考,详细内容如下
原理图:
斗地主过程:
1、组合牌
* 2、洗牌
* 3、发牌
* 4、看牌
代码实现:
package itcast.demo6;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
public class DouDiZhu {
public static void main(String[] args) {
//1、组合牌
//创建Map集合,键:编号 值:牌
HashMap pooker = new HashMap();
//创建List集合,存储编号
ArrayList pookerNumber = new ArrayList();
//定义13个点数的数组
String[] numbers = {"2","A","K","Q","J","10","9","8","7","6","5","4","3"};
//定义4个花色组合
String[] colors = {"♠","♣","♥","♦"};
//定义一个整数变量,作为Map的键
int index = 2;
//遍历数组,用花色+点数的组合,存储到Map集合中
for(String number : numbers) {
for(String color : colors) {
pooker.put(index, color + number);
pookerNumber.add(index);
index++;
}
}
//System.out.println(pooker);
//System.out.println(pookerNumber);
//单独存储大王和小王
pooker.put(0, "大王");
pookerNumber.add(0);
pooker.put(1, "小王");
pookerNumber.add(1);
//洗牌,将牌的编号打乱
Collections.shuffle(pookerNumber);
//System.out.println(pookerNumber);
//发牌,将牌编号,发给3个玩家集合+1个底牌集合
ArrayList player1 = new ArrayList();
ArrayList player2 = new ArrayList();
ArrayList player3 = new ArrayList();
ArrayList buttom = new ArrayList();
//发牌,使用的是集合的索引%3
for(int i = 0; i < pookerNumber.size();i++) {
//现将底牌做好
if(i<3) {
//存到底牌去
buttom.add(pookerNumber.get(i));
//对索引%3判断
}else if(i % 3 == 0) {
//索引上的编号,发给玩家1
player1.add(pookerNumber.get(i));
}else if(i % 3 == 1) {
//发给玩家2
player2.add(pookerNumber.get(i));
}else if(i % 3 == 2) {
//发给玩家3
player3.add(pookerNumber.get(i));
}
}
//对玩家手中的编号进行排序
Collections.sort(player1);
Collections.sort(player2);
Collections.sort(player3);
//看牌,就是将玩家手中的编号,到Map集合中查找,根据键找值
//定义实现方法
look("包身工 ",player1,pooker);
look("清洁工 ",player2,pooker);
look("洗碗工 ",player3,pooker);
look("底牌 ",buttom,pooker);
}
public static void look(String name,ArrayList player,HashMap pooker) {
//遍历ArrayList集合,获取元素,作为键,到集合Map中找值
System.out.print(name+" ");
for(Integer key : player) {
String value = pooker.get(key);
System.out.print(value+" ");
}
System.out.println();
}
}
运行结果:
包身工 大王 ♣2 ♥2 ♦2 ♦A ♦K ♣J ♥10 ♠9 ♣9 ♥9 ♦9 ♣5 ♦5 ♦4 ♠3 ♦3
清洁工 小王 ♠K ♥K ♠Q ♣Q ♦Q ♦J ♠10 ♦10 ♥8 ♠7 ♥7 ♦7 ♥5 ♠4 ♣3 ♥3
洗碗工 ♠2 ♥A ♣K ♥Q ♠J ♥J ♣10 ♠8 ♦8 ♣7 ♠6 ♣6 ♥6 ♦6 ♠5 ♣4 ♥4
底牌 ♠A ♣A ♣8
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持乐购源码。
java写的网络版斗地主_Java实现简单的斗地主游戏相关推荐
- java 斗地主_Java实现简单的斗地主游戏
本文实例为大家分享了Java实现斗地主游戏的具体代码,供大家参考,具体内容如下 原理图: 斗地主过程: 1.组合牌 * 2.洗牌 * 3.发牌 * 4.看牌 代码实现: package itcast. ...
- java球球大作战_java实现简单窗体小游戏----球球大作战
需求分析 1.分析小球的属性: 坐标.大小.颜色.方向.速度 2.抽象类:Ball 设计类:BallMain-创建窗体 BallJPanel-画小球 BallAndBall-处理小球之间的关系 3.流 ...
- JAVA写XML乱码问题_java 写 xml 中文乱码
今天用java写xml文件,发现写完后xml文件的中文就变成了乱码, 解决办法:把xml文件的头部编码改为utf-8,StreamResult编码方式也改为utf-8. =============部分 ...
- 推箱子java下载_Java实现简单推箱子游戏
本文实例为大家分享了Java实现简单推箱子游戏的具体代码,供大家参考,具体内容如下 *编写一个简易的推箱子游戏,使用10*8的二维字符数据表示游戏画面,H表示墙壁; &表示玩家角色: o表示箱 ...
- java做小窗体_java实现简单窗体小游戏----球球大作战
java实现简单窗体小游戏----球球大作战 需求分析 1.分析小球的属性: 坐标.大小.颜色.方向.速度 2.抽象类:Ball 设计类:BallMain-创建窗体 BallJPanel-画小球 ...
- java弹球游戏代码_Java实现简单的弹球游戏
本文实例为大家分享了Java实现简单的弹球游戏的具体代码,供大家参考,具体内容如下 该程序主要是用于对java图形化界面编程进行联系,程序实现全部采用的是AWT包下的类. 程序仅做参考,供学习使用. ...
- java写的网络版斗地主_用java实现斗地主
忙里偷闲,自己运用初学的知识是心啊斗地主功能. 斗地主画图分析 直接上源代码 import java.util.*; public class PlayCards { public static vo ...
- 用java写秋道程序_Java开发者使用C++写程序踩的坑
笔者是一个很矛盾的人.平时用Java.但是一开始学习的时候学的是汇编语言,而且对C语言也很熟悉.为什么不学C++呢?是因为我可以完全用Java的编码规范去写C++.因此我不需要了解更多的诸如C++的命 ...
- java写红白机_Java 开发的编程噩梦,这些坑你没踩过算我输
很多 Java 初学者在开始编程时会出现一些问题,这些问题并不是指某个特定领域的问题,也不是指对某个业务不熟悉而导致的问题,而是对基础知识不够熟悉导致的问题.而就是这些问题让我们编写了一些不够健壮的代 ...
最新文章
- python代码判断指定日期是当前年的第多少天
- idea网页预览功能_IDEA 2020.2 重磅发布,动画级新功能预览!
- linux shell mv/cp 错误: will not overwrite just-created <filename> with <sameFilename> 解决方法
- 交换机的4种网络结构方式你知道是什么吗?
- Php7实现文件下载,PHP7 SFTP下载文件并重命名该下载文件
- python 用户认证_Python使用LDAP做用户认证的方法
- 『mcse 2008基础架构』Chapter 01 IP协议及配置方法 第1课网络连接及配置方法
- windows 加域
- 补肾分男女,养肾如养命
- java微信上传图片_微信小程序图片上传java后台(前后端代码)
- 如何将你的 MySQL 查询速度提升 300 倍
- Pandas + Jinja,轻松创建一个 PDF 报表
- 用WPS2000制作勾股定理教学课件(转)
- st8s003 c语言编译器,ST系列STM8S003F3P6单片机芯片介绍
- gridcontrol 添加行删除行
- 嵌入式知识框架之六-接口与总线(SPI\I2C\ USB\PCI\PCI-E\SD\SDIO\以太网接口)
- HTML5期末大作业:月饼美食网站设计——月饼美食食品模板(9页) HTML+CSS+JavaScript 学生DW网页设计作业成品 web课程食品设计网页规划与设计 计食品模板设计源码
- 美国“黑色星期五”单日销量不及双十一
- 各种网客平台纷纷兴起,你进入到哪个网客领域了?
- 全国计算机考的是ms还是mps,艺术留学读研学位分类:MA、MS、MPS 是什么学位?...