使用Java实现简单的斗地主案例

案例说明:使用Java实现简单的斗地主洗牌发牌的操作;

具体规则:

共有54张牌,顺序打乱;

三个玩家参与游戏,三人交替摸牌,每人17张牌,最后留三张为底牌(地主牌)。

具体代码实现步骤:

扑克牌准备操作

import java.util.ArrayList;

import java.util.Collections;

import java.util.List;

public class PokerGame {

public static void main(String[] args) {

//定义扑克牌的花色以及数字的数组

String[] flower = {"♥️","♠️","♣️","♦️"};

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

//创建牌组集合

List poker = new ArrayList();

//组合扑克牌样式

//拿出每一个花色,然后跟每一个数字进行结合,储存在牌组中

for (int i = 0; i < flower.length; i++) {

for (int j = 0; j < numbers.length; j++) {

poker.add(flower[i].concat(numbers[j]));

}

}

//添加大小王到牌组集合中

poker.add("大王");

poker.add("小王");

//打印输出所有扑克牌测试

System.out.println(poker);

//定义三个玩家和地主牌的集合

List player1 = new ArrayList();

List player2 = new ArrayList();

List player3 = new ArrayList();

List dizhupai = new ArrayList();

//洗牌操作,使用shuffle方法

Collections.shuffle(poker);

System.out.println(poker); //测试牌有没有被打乱

//发牌操作

for (int k = 0; k

//留出三张牌存到底牌的集合中

if (k > 50) {

dizhupai.add(poker.get(k));

} else if (k % 3 == 0) {

player1.add(poker.get(k));

} else if (k % 3 == 1) {

player2.add(poker.get(k));

} else if (k % 3 == 2) {

player3.add(poker.get(k));

}

}

//最终看牌操作

System.out.println("玩家一的牌"+player1);

System.out.println("玩家二的牌"+player2);

System.out.println("玩家三的牌"+player3);

System.out.println("地主牌"+dizhupai);

}

}

结果展示

玩家一的牌:[♥️9, ♠️A, ♠️5, ♥️A, ♥️2, ♥️10, ♠️7, ♣️J, ♥️3, ♠️2, ♣️5, ♦️2, ♠️6, ♥️7, ♦️K, ♣️9, 大王]

玩家二的牌:[♦️9, ♠️4, ♣️4, ♣️10, ♥️J, ♦️4, ♥️8, ♥️5, ♦️A, ♣️A, ♦️7, ♦️3, ♦️Q, ♣️K, ♥️6, ♣️3, ♠️Q]

玩家三的牌:[♣️Q, ♣️2, ♣️8, ♣️7, ♥️Q, ♦️10, ♠️8, ♣️6, ♥️4, ♠️10, 小王, ♥️K, ♠️3, ♦️8, ♦️6, ♠️K, ♠️J]

地主牌:[♠️9, ♦️5, ♦️J]

斗地主 java思路_使用Java实现简单的斗地主案例相关推荐

  1. java编写日历思路_使用JAVA写一个简单的日历

    JAVA写一个简单的日历import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDat ...

  2. java开发思路_学习Java的思路

    学习的思路 1.心里思路----任何事情都很简单 只是你暂时不懂得方法当你懂得了方法再复杂的问题都会变的非常简单因为任何一个复杂的问题都是由很多简单的问题组合成的.学习任何知识都是这样当你觉得它容易 ...

  3. java斗地主随机发牌_使用Java实现斗地主游戏的发牌过程

    package com.review.test; import java.util.ArrayList; import java.util.Collections; import java.util. ...

  4. 基于java斗地主设计报告_基于java实现斗地主代码实例解析

    斗地主 规则: 1. 组装54张扑克牌 2. 将54张牌顺序打乱 3. 三个玩家参与游戏,三人交替摸牌,每人17张牌,最后三张留作底牌. 4. 查看三人各自手中的牌(按照牌的大小排序).底牌 手中扑克 ...

  5. java 折线_用Java绘制简单的折线图

    只是对气垫船充满鳗鱼的解决方案的补充: 我重新设计了他的代码,对其进行了一些微调,添加了网格,轴标签,现在Y轴从当前的最小值变为最大值.我计划添加一些吸气剂/吸气剂,但我不需要它们,可以根据需要添加它 ...

  6. java发包_【Java】UDP发包的简单实现

    最近在学Java,正好作一些笔记,以防止本身忘了.java client端 //UdpClient.java import java.io.IOException; import java.io.Un ...

  7. java走马灯_用java编写的一个简单走马灯程序

    实验的时候要求做一个走马灯程序,写完顺便发上来填补下博客的空白,日后有空还会发更多自己编写的程序,让大家指教指教-- package clock; import java.awt.*; import ...

  8. java 抓图_用JAVA实现屏幕抓图的简单实例

    /* 主要使用的是java.util.Robot类来捕获屏幕, * 可以实现对屏幕一个矩形区域的捕获,通过这个类, * 我们也可以实现一个远程桌面控制的程序 */ package com.qiu.ut ...

  9. 简单的五子棋java代码_求一个最简单的JAVA五子棋程序。。

    展开全部 import java.awt.BorderLayout; import java.awt.Color; import java.awt.Container; import java.awt ...

最新文章

  1. Coredata — 入门使用
  2. Java字符串的10大热点问题盘点
  3. python中字典数据的特点_Python数据类型(字典)
  4. mac 版ideal 查找类_4款mac窗口切换工具 提高你的工作效率
  5. menu什么意思中文意思_pipeline什么意思
  6. Thinking in C++ ----第二章 对象的创建和使用
  7. 452A - Eevee 模拟字符串,挺简单的一道题
  8. SEO网站外链优化大全
  9. Linux运维04:vmstat命令详解
  10. linux 卸载lxde,UBUNTU最小化搭建LXDE桌面环境
  11. A Busiest Computing Nodes(线段树+优先队列)
  12. day03_雷神_文件操作
  13. 网络工程师十月份免费讲座
  14. 蚂蚁花呗的交易分期(有别于账单分期)
  15. 一个nginx使用同一端口不同域名代理到不同网站
  16. 【安全资讯】全球上市公司财报中“网络安全”的提及次数出现显著增长
  17. C语言预定义的标识符的作用,C语言标识符的分类
  18. 淘客是什么 淘客怎么做
  19. 陆权论和边缘地带理论的主要原则
  20. 解决腾讯系高速下载器无法登陆QQ账号问题(不用下载wegame)

热门文章

  1. iPad革命:开发者的机遇和挑战
  2. 大数据:70多个网站让你免费获取大数据存储库
  3. 学霸占据互联网过半江山
  4. C语言字符出现方块,C语言字符串输出 后面会有方框产生
  5. h5家族圣诞值面试题
  6. 【Windows】如何把Windows自带壁纸、锁屏壁纸取出作为自己的桌面壁纸?(附:批量更改文件后缀名的方法)
  7. 2188 -找树根 ---树
  8. 程序员转实施工程师_【好文】IT工程师转行干工程,月薪10k+到3500,我的一建奋斗史!...
  9. 我所遇到的团队管理问题与解决方案
  10. 一文搞懂Go读写Excel文件