日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

斗地主游戏小结

發布時間:2024/7/5 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 斗地主游戏小结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 程序簡介
  • 程序的實現
    • 程序中使用到的類
        • Card:一副撲克牌。
        • CardGroup:
        • Player:玩家
        • Game:游戲主程序
        • Scene:游戲界面
    • 人工智能部分實現
        • 分析選牌牌型
        • 分析手牌并拆分成有效牌型
        • 出牌/跟牌分析
          • 拆牌原則:

程序簡介

程序的實現

程序中使用到的類

Card:一副撲克牌。

接口:洗牌、抹牌及剩余牌數。

CardGroup:

一組牌型,如:單張、對子、順子、炸彈等等。

屬性:包含牌序號集合、對應牌的權值集合、該組牌的類型、權值、牌的數量; 接口:添加/刪除序號牌、重置結構內屬性、靜態序號到權值轉換。

Player:玩家

屬性:手牌集合、手牌牌型集合、選牌集合、出牌集合、是否不出牌、玩家總分數; 接口:包括分析叫地主分數、分析手牌、選牌、分析是否出牌(或跟牌)等。

Game:游戲主程序

屬性:玩家、地主方、當前出牌方、本局基本分、倍率、地主專屬牌集合等; 接口:相關控制游戲進行函數,及沒個步驟通知界面更新。

Scene:游戲界面

包含游戲界面元素及游戲主界面緩沖去生成及窗口繪制等功能。

人工智能部分實現

分析選牌牌型

  • 先分析選牌是否為王炸,如不是則進行第二步;
  • 找出選牌中相同權值的最大數量;
  • 根據最大數量判斷是否為相應的有效牌型。
  • 分析手牌并拆分成有效牌型

  • 判斷牌型集合是否為空,不為空就不需要分析直接返回,否則進行第二步;
  • 由當前玩家手牌(0-53格式)生成權值牌集合(3-17格式);
  • 先拆分出權值牌集合中的基本牌型,分析的順序為:王炸 → 炸彈 → 單順 → 雙順 → 三順、三條 → 一對 → 單張;
  • 然后又基本牌型嘗試組合成更復雜的牌型:三帶一、四帶二、飛機等。
  • 出牌/跟牌分析

  • 是否需要重新分析手牌,分析完成后進行第2步;

  • 直接出牌(最后出牌方為自己);

    • 如手牌數為2,則先出王炸、炸彈、數量最多、權值最大的牌;
    • 如下家為我方,其手牌數為一,則出最小單牌;如下家為敵方,其手牌數為一,盡量不出單牌,或出最大單牌;
    • 其他正常出牌順序為:單牌(A以上的牌盡量不直接出)→對子→雙順→單順→三條、三帶一、飛機
  • 跟友方牌(最后出牌方為我方)

    • 手牌把數≤2,應出對應牌或炸彈,否則過牌
    • 上家為地主且未跟牌,過牌
    • 有對應牌,且權值小于14,則跟,炸彈不跟;
  • 跟敵方牌(最后出牌方為敵方)

    • 有對應牌就跟,
    • 沒有就拆,
    • 再著用炸彈,否則就過牌
    拆牌原則:
  • 單牌時:1.拆單順數量大于5的2.拆三條3.拆對對子時:1.拆三條2.拆三順數量大于3的單順:1.拆更長單順三條或三帶一:1.拆三順(先判斷數量大于3的)飛機:1.拆三順數量大、權值更大的

    拆牌后一定要清空牌型集合

    創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

    總結

    以上是生活随笔為你收集整理的斗地主游戏小结的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。