亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java順序表實現(xiàn)的撲克牌小游戲(附詳細代碼)

 更新時間:2025年10月27日 09:11:01   作者:Paxon?Zhang  
在撲克牌游戲中,我們有時需要判斷一手牌是否是一個順子,也就是判斷5張牌是否連續(xù),這篇文章主要介紹了Java順序表實現(xiàn)的撲克牌小游戲的相關資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下

1.前言

本文主要用上一篇博客的所有知識點實現(xiàn)的撲克牌小游戲,內(nèi)涵抽牌洗牌,內(nèi)容詳細,跟進小編的步伐!

2. 正文

1.要求:

1.首先要買52張牌(除去??牌,J Q K均用數(shù)字代替),2.然后進行洗牌打亂順序,3.有三個人輪流揭牌5張

2.思路及代碼實現(xiàn)

  1. 有52張牌所以首先我們先定義一個Card類用來完成牌包含的內(nèi)容

    我們用private修飾實現(xiàn)了封裝,并調(diào)用了get set方法,這里小編在語法部分都有寫到,其次我們可以重寫toString 方法,使輸出的效果更符合我們的業(yè)務。

    這樣我們可以直接打印出花色加值。下面我們在定義一個CardDemo的類用來存放我們修改Card類的方法


    這是我們定義的CardDemo類,首先我們要先放四個花色在這個類中,把這四個花色分配給我的Card類中的suit,我也要定義13個數(shù)字分派給我Card中的rank!當我們這些都做完后,我們就該考慮如何存放這些數(shù)據(jù),所以我們用到了順序表的知識!!

    我們定義了一個list 用來存放我們的數(shù)據(jù)!這一步也做完了,可見我們第一步完成下面我們可以看一下現(xiàn)在的代碼執(zhí)行情況

    可見代碼正常運行,下面我們完成第二部操作打亂牌的次序
  1. 如何打亂牌的次序!?

在我們之前的學習中,學習到一個Random的類,這個類具有一個nextInt()方法可以實現(xiàn)位置的互換!

接著我們看代碼如何實現(xiàn)!!

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

首先這是我們定義的洗牌方法,先把下標交換一下

但是在我們定義交換方法的時候,以原本的邏輯代碼會報錯!這時候就體現(xiàn)了Java的面向?qū)ο蟮奶攸c了,我們可以直接調(diào)用set方法?。。?/p>

這樣我們第二步的代碼就完成了?。∵@里的swap方法最好用private封裝一下

  1. 最后我們要完成的是輪流揭牌的操作,這個方法對于剛接觸順序表的我們來說還是有點復雜的,下面小編一 一講解。

    首先看這個圖可以很好理解每個人都要有獨立的順序表結構放牌,我們先完成這個方法
    public void play(ArrayList<Card> list){
        ArrayList<Card> tep0=new ArrayList<>();
        ArrayList<Card> tep1=new ArrayList<>();
        ArrayList<Card> tep2=new ArrayList<>();
    }

接著我們考慮怎么刪

然后我們的思路繼續(xù)向前,三個人輪流拿牌一次拿一張,拿五輪所以我們就要用到循環(huán)

用card接收我們揭開的牌,最后我們要把牌放到我們定義的三個tep中,這該怎么放??這時候我們就需要采用二維數(shù)組的思想,與上篇博客的楊輝三角形成共鳴

下面看圖

由這個圖我們就可以最后完善一下代碼

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順序表實現(xiàn)的撲克牌小游戲的文章就介紹到這了,更多相關Java順序表撲克牌小游戲內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • java接口Array介紹

    java接口Array介紹

    這篇文章主要介紹了java接口Array的相關資料,需要的朋友可以參考下
    2014-10-10
  • Java中解密微信加密數(shù)據(jù)工具類

    Java中解密微信加密數(shù)據(jù)工具類

    最近小編一直在開發(fā)微信公眾號、小程序項目,微信返回給我們的數(shù)據(jù)都是加密的,我們需要使用sessionkey配合解密,才能看到我們想要的數(shù)據(jù),基于代碼怎么實現(xiàn)呢,下面小編給大家?guī)砹薐ava中解密微信加密數(shù)據(jù)工具類的完整代碼,一起看看吧
    2021-06-06
  • Mybatis-plus中IService接口的基本使用步驟

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

    Mybatis-plus是一個Mybatis的增強工具,它提供了很多便捷的方法來簡化開發(fā),IService是Mybatis-plus提供的通用service接口,封裝了常用的數(shù)據(jù)庫操作方法,包括增刪改查等,下面這篇文章主要給大家介紹了關于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(推薦)

    下面小編就為大家?guī)硪黄狢ore Java 簡單談談HashSet(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    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是一門面向?qū)ο蟮恼Z言。對象是Java程序中的基本實體。除了對象之外Java程序同樣處理基本數(shù)據(jù)。下面這篇文章主要給大家總結了關于Java中面向?qū)ο蟮闹R點,需要的朋友可以參考借鑒,下面來一起看看吧
    2021-08-08
  • Java Web文件上傳與下載優(yōu)化的實現(xiàn)方案

    Java Web文件上傳與下載優(yōu)化的實現(xiàn)方案

    文件上傳與下載是 Web 應用中常見的功能,尤其是在需要處理大量文件傳輸、存儲的場景下,傳統(tǒng)的文件上傳和下載方式雖然簡單,但如果不加以優(yōu)化,可能會帶來一些問題,所以今天,我們將深入探討 Java Web 中如何實現(xiàn)高效的文件上傳和下載,需要的朋友可以參考下
    2025-02-02

最新評論