Java顺序表实现的扑克牌小游戏(附详细代码)

 更新时间:2025年10月27日 09:11:01   作者:Paxon Zhang  
在扑克牌游戏中,我们有时需要判断一手牌是否是一个顺子,也就是判断5张牌是否连续,这篇文章主要介绍了Java顺序表实现的扑克牌小游戏的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下

1.前言

本文主要用上一篇博客的所有知识点实现的扑克牌小游戏,内涵抽牌洗牌,内容详细,跟进小编的步伐!

2. 正文

1.要求:

1.首先要买52张牌(除去🤡牌,J Q K均用数字代替),2.然后进行洗牌打乱顺序,3.有三个人轮流揭牌5张

2.思路及代码实现

  1. 有52张牌所以首先我们先定义一个Card类用来完成牌包含的内容

    我们用private修饰实现了封装,并调用了get set方法,这里小编在语法部分都有写到,其次我们可以重写toString 方法,使输出的效果更符合我们的业务。

    这样我们可以直接打印出花色加值。下面我们在定义一个CardDemo的类用来存放我们修改Card类的方法


    这是我们定义的CardDemo类,首先我们要先放四个花色在这个类中,把这四个花色分配给我的Card类中的suit,我也要定义13个数字分派给我Card中的rank!当我们这些都做完后,我们就该考虑如何存放这些数据,所以我们用到了顺序表的知识!!

    我们定义了一个list 用来存放我们的数据!这一步也做完了,可见我们第一步完成下面我们可以看一下现在的代码执行情况

    可见代码正常运行,下面我们完成第二部操作打乱牌的次序
  1. 如何打乱牌的次序!?

在我们之前的学习中,学习到一个Random的类,这个类具有一个nextInt()方法可以实现位置的互换!

接着我们看代码如何实现!!

   public void shuffle(ArrayList<Card> list){
      Random random=new Random();
      for (int i =list.size()-1 ; i>0; i--) {
          int index=random.nextInt(i);
      }
  }

首先这是我们定义的洗牌方法,先把下标交换一下

但是在我们定义交换方法的时候,以原本的逻辑代码会报错!这时候就体现了Java的面向对象的特点了,我们可以直接调用set方法!!!

这样我们第二步的代码就完成了!!这里的swap方法最好用private封装一下

  1. 最后我们要完成的是轮流揭牌的操作,这个方法对于刚接触顺序表的我们来说还是有点复杂的,下面小编一 一讲解。

    首先看这个图可以很好理解每个人都要有独立的顺序表结构放牌,我们先完成这个方法
    public void play(ArrayList<Card> list){
        ArrayList<Card> tep0=new ArrayList<>();
        ArrayList<Card> tep1=new ArrayList<>();
        ArrayList<Card> tep2=new ArrayList<>();
    }

接着我们考虑怎么删

然后我们的思路继续向前,三个人轮流拿牌一次拿一张,拿五轮所以我们就要用到循环

用card接收我们揭开的牌,最后我们要把牌放到我们定义的三个tep中,这该怎么放??这时候我们就需要采用二维数组的思想,与上篇博客的杨辉三角形成共鸣

下面看图

由这个图我们就可以最后完善一下代码

public ArrayList<ArrayList<Card>>  play(ArrayList<Card> list){
        ArrayList<Card> tep0=new ArrayList<>();
        ArrayList<Card> tep1=new ArrayList<>();
        ArrayList<Card> tep2=new ArrayList<>();
        ArrayList<ArrayList<Card>> tep=new ArrayList<>();
        tep.add(tep0);
        tep.add(tep1);
        tep.add(tep2);
        for (int i = 0; i < 5; i++) {
            for (int j = 0; j < 3; j++) {
                Card card=list.remove(0);
                tep.get(j).add(card);
            }
        }
        return tep;

    }

最后这个方法我们也完成了!! 这个小游戏也结束了。

3.结语

到此这篇关于Java顺序表实现的扑克牌小游戏的文章就介绍到这了,更多相关Java顺序表扑克牌小游戏内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • java接口Array介绍

    java接口Array介绍

    这篇文章主要介绍了java接口Array的相关资料,需要的朋友可以参考下
    2014-10-10
  • Java中解密微信加密数据工具类

    Java中解密微信加密数据工具类

    最近小编一直在开发微信公众号、小程序项目,微信返回给我们的数据都是加密的,我们需要使用sessionkey配合解密,才能看到我们想要的数据,基于代码怎么实现呢,下面小编给大家带来了Java中解密微信加密数据工具类的完整代码,一起看看吧
    2021-06-06
  • Mybatis-plus中IService接口的基本使用步骤

    Mybatis-plus中IService接口的基本使用步骤

    Mybatis-plus是一个Mybatis的增强工具,它提供了很多便捷的方法来简化开发,IService是Mybatis-plus提供的通用service接口,封装了常用的数据库操作方法,包括增删改查等,下面这篇文章主要给大家介绍了关于Mybatis-plus中IService接口的基本使用步骤,需要的朋友可以参考下
    2023-06-06
  • Springboot读取配置文件及自定义配置文件的方法

    Springboot读取配置文件及自定义配置文件的方法

    这篇文章主要介绍了Springboot读取配置文件及自定义配置文件的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-12-12
  • Springboot整合pagehelper分页功能

    Springboot整合pagehelper分页功能

    这篇文章主要为大家详细介绍了Springboot整合pagehelper分页功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-12-12
  • Core Java 简单谈谈HashSet(推荐)

    Core Java 简单谈谈HashSet(推荐)

    下面小编就为大家带来一篇Core Java 简单谈谈HashSet(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • java中HashMap的七种遍历方式小结

    java中HashMap的七种遍历方式小结

    本文主要介绍了java中HashMap的七种遍历方式小结,包括迭代器,For Each,Lambda,Streams API等,具有一定的参考价值,感兴趣的可以了解一下
    2024-01-01
  • SpringBoot项目运行jar包启动的步骤流程解析

    SpringBoot项目运行jar包启动的步骤流程解析

    这篇文章主要介绍了SpringBoot项目运行jar包启动的步骤流程,本文分步骤通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2020-07-07
  • 一篇文章带你了解JAVA面对对象应用

    一篇文章带你了解JAVA面对对象应用

    Java是一门面向对象的语言。对象是Java程序中的基本实体。除了对象之外Java程序同样处理基本数据。下面这篇文章主要给大家总结了关于Java中面向对象的知识点,需要的朋友可以参考借鉴,下面来一起看看吧
    2021-08-08
  • Java Web文件上传与下载优化的实现方案

    Java Web文件上传与下载优化的实现方案

    文件上传与下载是 Web 应用中常见的功能,尤其是在需要处理大量文件传输、存储的场景下,传统的文件上传和下载方式虽然简单,但如果不加以优化,可能会带来一些问题,所以今天,我们将深入探讨 Java Web 中如何实现高效的文件上传和下载,需要的朋友可以参考下
    2025-02-02

最新评论