国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Java】Java基礎(chǔ) 使用集合實(shí)現(xiàn)斗地主分牌

這篇具有很好參考價(jià)值的文章主要介紹了【Java】Java基礎(chǔ) 使用集合實(shí)現(xiàn)斗地主分牌。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

【Java】Java基礎(chǔ) 使用集合實(shí)現(xiàn)斗地主分牌,java,開(kāi)發(fā)語(yǔ)言

????個(gè)人主頁(yè):哈__

期待您的關(guān)注?

【Java】Java基礎(chǔ) 使用集合實(shí)現(xiàn)斗地主分牌,java,開(kāi)發(fā)語(yǔ)言

今天使用集合TreeSet來(lái)實(shí)現(xiàn)一個(gè)斗地主的分牌流程。

TreeSet集合的一個(gè)特點(diǎn)就是?元素有序,這樣就方便我們分的牌自動(dòng)排序。

0.思路

【Java】Java基礎(chǔ) 使用集合實(shí)現(xiàn)斗地主分牌,java,開(kāi)發(fā)語(yǔ)言

1.創(chuàng)建玩家手牌集合

我們到時(shí)候分的牌都存儲(chǔ)在這里,但你可能會(huì)有疑問(wèn),因?yàn)榇鎯?chǔ)的泛型是Integer,但撲克牌是有花色的,這該如何實(shí)現(xiàn)?

         TreeSet<Integer> zhangsan=new TreeSet<Integer>();
        TreeSet<Integer> lisi=new TreeSet<Integer>();
        TreeSet<Integer> wangwu=new TreeSet<Integer>();
        TreeSet<Integer> dipai=new TreeSet<Integer>();

2.創(chuàng)建牌堆?

我們創(chuàng)建了一個(gè)名為poke的HashMap結(jié)構(gòu),poke用來(lái)存儲(chǔ)我們的撲克,而poke的key是每一張牌的一個(gè)id,value就是具體的牌。

        HashMap<Integer,String>poke=new HashMap<Integer,String>();
        String[] color={"?","?","?","?"};
        String[] number={"3","4","5","6","7","8","9","10","J","Q","K","A","2"};

我們到時(shí)候洗牌的時(shí)候,洗的是這些id,但是并不是直接在poke中洗,poke的作用只是記錄我們有哪些牌。所以 我們?cè)趧?chuàng)建一個(gè)用來(lái)洗牌的數(shù)組,并把所有的id放入。

        ArrayList<Integer> xipai=new ArrayList<Integer>();

3. 把牌放入牌堆

遍歷我們的String數(shù)組,把花色和牌號(hào)組合一下并放入poke中,同時(shí)把poke中的key放入我們的洗牌集合中。最后不要忘了大小王。

        int index=0;
        for(String Number:number){
            for(String Color:color){
                String POKE=Color+Number;
                poke.put(index,POKE);
                xipai.add(index);
                index+=1;
            }
        }
        poke.put(52,"小王");
        poke.put(53,"大王");
        xipai.add(52);
        xipai.add(53);

4.洗牌?

一行代碼即可,使用Collecitons自帶的數(shù)組打亂方法。

    Collections.shuffle(xipai);

5.進(jìn)行分牌?

如果只剩下最后三張了,就直接放入到我們的底牌集合當(dāng)中,否則的話就進(jìn)行模3取余操作進(jìn)行判斷應(yīng)該分給誰(shuí)。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-860019.html

        for(int i=0;i<xipai.size();i++){
            if(i>=xipai.size()-3){
                dipai.add(xipai.get(i));
            }else{
                if(i%3==0){
                    zhangsan.add(xipai.get(i));
                }else if(i%3==1){
                    lisi.add(xipai.get(i));
                }else
                    wangwu.add(xipai.get(i));
            }
        }

6.完整代碼?

public class Poker {
    public static void main(String[] args) {
        HashMap<Integer,String>poke=new HashMap<Integer,String>();
        String[] color={"?","?","?","?"};
        String[] number={"3","4","5","6","7","8","9","10","J","Q","K","A","2"};
        ArrayList<Integer> xipai=new ArrayList<Integer>();
        TreeSet<Integer> zhangsan=new TreeSet<Integer>();
        TreeSet<Integer> lisi=new TreeSet<Integer>();
        TreeSet<Integer> wangwu=new TreeSet<Integer>();
        TreeSet<Integer> dipai=new TreeSet<Integer>();
        int index=0;
        for(String Number:number){
            for(String Color:color){
                String POKE=Color+Number;
                poke.put(index,POKE);
                xipai.add(index);
                index+=1;
            }
        }
        poke.put(52,"小王");
        poke.put(53,"大王");
        xipai.add(52);
        xipai.add(53);
        Collections.shuffle(xipai);
        //進(jìn)行發(fā)牌
        for(int i=0;i<xipai.size();i++){
            if(i>=xipai.size()-3){
                dipai.add(xipai.get(i));
            }else{
                if(i%3==0){
                    zhangsan.add(xipai.get(i));
                }else if(i%3==1){
                    lisi.add(xipai.get(i));
                }else
                    wangwu.add(xipai.get(i));
            }
        }
        //進(jìn)行看牌,用方法實(shí)現(xiàn)
        LookPoker("張三",gyh,poke);
        LookPoker("李四",zch,poke);
        LookPoker("王五",wjq,poke);
        LookPoker("底牌",dipai,poke);
        //System.out.println(poke);
    }
    public static void LookPoker(String name,TreeSet<Integer>set,HashMap<Integer,String>map){
        System.out.print(name+"的牌是:");
        for(Integer i:set){
            String poke=map.get(i);
            System.out.print(poke+" ");
        }
        System.out.println();
    }
}

到了這里,關(guān)于【Java】Java基礎(chǔ) 使用集合實(shí)現(xiàn)斗地主分牌的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【華為OD機(jī)試 2023 B卷 | 100分】斗地主之順子(C++ Java JavaScript Python)

    華為OD統(tǒng)一考試A卷+B卷 新題庫(kù)說(shuō)明 2023年5月份,華為官方已經(jīng)將的 2022/0223Q(1/2/3/4)統(tǒng)一修改為OD統(tǒng)一考試(A卷)和OD統(tǒng)一考試(B卷)。 你收到的鏈接上面會(huì)標(biāo)注A卷還是B卷。請(qǐng)注意:根據(jù)反饋,目前大部分收到的都是B卷。但是仍有概率抽到A卷。 A卷對(duì)應(yīng)2023的新題庫(kù)(2022Q4 2

    2024年02月08日
    瀏覽(46)
  • 逆向破解學(xué)習(xí)-單機(jī)斗地主

    逆向破解學(xué)習(xí)-單機(jī)斗地主

    9000 是成功的代碼 ` import de.robv.android.xposed.XC_MethodHook; import de.robv.android.xposed.XposedHelpers; import de.robv.android.xposed.callbacks.XC_LoadPackage; public class HookComJuneGameDouDiZhu extends HookImpl{ @Override public String packageName() { return “com.june.game.doudizhu”; } } `

    2024年02月13日
    瀏覽(24)
  • 【華為OD機(jī)試真題】1220 - 斗地主之順子(JAVA C++ Python JS) | 機(jī)試題+算法思路+考點(diǎn)+代碼分析

    ??個(gè)人博客首頁(yè): KJ.JK ? ??專(zhuān)欄介紹: 華為OD機(jī)試真題匯總,定期更新華為OD各個(gè)時(shí)間階段的機(jī)試真題,每日定時(shí)更新,本專(zhuān)欄將使用Python語(yǔ)言進(jìn)行更新解答,包含真題,思路分析,代碼參考,歡迎大家訂閱學(xué)習(xí)

    2024年02月06日
    瀏覽(19)
  • 微信小程序斗地主完整代碼及步驟

    一、準(zhǔn)備工作 1. 安裝微信開(kāi)發(fā)者工具,并登錄微信小程序賬號(hào); 2. 準(zhǔn)備斗地主游戲的圖片資源; 3. 準(zhǔn)備斗地主游戲的音效資源; 二、創(chuàng)建小程序 1. 打開(kāi)微信開(kāi)發(fā)者工具,點(diǎn)擊“新建小程序”,輸入小程序名稱(chēng),選擇小程序的項(xiàng)目目錄,點(diǎn)擊“創(chuàng)建”; 2. 在小程序的項(xiàng)目目

    2024年02月04日
    瀏覽(172)
  • AI 全自動(dòng)玩斗地主,靠譜嗎?Douzero算法教程

    AI 全自動(dòng)玩斗地主,靠譜嗎?Douzero算法教程

    你覺(jué)得,AI 全自動(dòng)玩斗地主,勝率能有多高? 真就有100%勝率,實(shí)現(xiàn)歡樂(lè)豆自由? 我讓這個(gè) AI 自己玩了一小時(shí),結(jié)果出乎意料。 先不著急說(shuō)最終結(jié)果,我們先來(lái)看看這個(gè) AI 有多強(qiáng)。 Ai斗地主,就是通過(guò) AI 算法分析游戲畫(huà)面,獲取玩家角色、手牌等信息。 完全自主決策這把

    2024年02月08日
    瀏覽(26)
  • 用python寫(xiě)一個(gè)有AI的斗地主游戲(一)——開(kāi)始前的準(zhǔn)備

    用python寫(xiě)一個(gè)有AI的斗地主游戲(一)——開(kāi)始前的準(zhǔn)備

    源碼請(qǐng)看我的Github頁(yè)面。 這是我一個(gè)課程的學(xué)術(shù)項(xiàng)目,請(qǐng)不要抄襲,引用時(shí)請(qǐng)注明出處。 本專(zhuān)欄系列旨在幫助小白從零開(kāi)始開(kāi)發(fā)一個(gè)項(xiàng)目,同時(shí)分享自己寫(xiě)代碼時(shí)的感想。 請(qǐng)大佬們?yōu)槲业淖疽?jiàn)留情,有不規(guī)范之處煩請(qǐng)多多包涵! 不知道有多少喜歡計(jì)算機(jī)相關(guān)學(xué)科的人,一開(kāi)

    2024年02月07日
    瀏覽(24)
  • HTML小游戲19 —— html5版開(kāi)心斗地主小游戲(附完整源碼)

    ?? 網(wǎng)站推薦:【神級(jí)源碼資源網(wǎng)】【摸魚(yú)小游戲】 ?? 前端學(xué)習(xí)課程:??【28個(gè)案例趣學(xué)前端】【400個(gè)JS面試題】 ?? 想尋找共同學(xué)習(xí)交流、摸魚(yú)劃水的小伙伴,請(qǐng)點(diǎn)擊【摸魚(yú)學(xué)習(xí)交流群】 本節(jié)教程我會(huì)帶大家使用 HTML 、CSS和 JS 來(lái)制作一個(gè) html5版開(kāi)心斗地主小游戲 ??? 本文

    2024年02月03日
    瀏覽(33)
  • Java基礎(chǔ)——Set集合實(shí)現(xiàn)類(lèi)

    (1)Set集合實(shí)現(xiàn)類(lèi)特點(diǎn): HashSet:無(wú)序,不重復(fù),無(wú)索引。 LinkedHashSet:有序,不重復(fù),無(wú)索引。 TreeSet:排序,不重復(fù),無(wú)索引。 ?(2)HashSet集合 1.底層原理: HashSet集合底層采取哈希表存儲(chǔ)的數(shù)據(jù)。 哈希表是一種對(duì)于增刪改查數(shù)據(jù)性能都較好的結(jié)構(gòu)。 2.哈希表的組成:?

    2023年04月13日
    瀏覽(20)
  • Java基礎(chǔ)——LinkedList集合實(shí)現(xiàn)棧和隊(duì)列

    (1)LinkedList的特點(diǎn): 底層數(shù)據(jù)結(jié)構(gòu)是雙鏈表,查詢慢,首尾操作的速度是極快的,所以多了很多首位操作的特有API。 (2)LinkedList集合的特有功能: 方法名稱(chēng) 說(shuō)明 public void addFirst(E e) 在該列表開(kāi)頭插入指定的元素 public void addLast(E e) 將指定的元素追加到此列表的末尾 publ

    2023年04月12日
    瀏覽(16)
  • 【Java基礎(chǔ)】Java8 使用 stream().filter()過(guò)濾List對(duì)象(查找符合條件的對(duì)象集合)

    【Java基礎(chǔ)】Java8 使用 stream().filter()過(guò)濾List對(duì)象(查找符合條件的對(duì)象集合)

    本篇主要說(shuō)明在Java8及以上版本中,使用stream().filter()來(lái)過(guò)濾List對(duì)象,查找符合條件的集合。 集合對(duì)象以學(xué)生類(lèi)(Student)為例,有學(xué)生的基本信息,包括:姓名,性別,年齡,身高,生日幾項(xiàng)。 我的學(xué)生類(lèi)代碼如下: 下面來(lái)添加一些測(cè)試用的數(shù)據(jù),代碼如下: 添加過(guò)濾條件

    2024年02月12日
    瀏覽(97)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包