斗地主游戏小结
文章目錄
- 程序簡(jiǎn)介
- 程序的實(shí)現(xiàn)
- 程序中使用到的類
- Card:一副撲克牌。
- CardGroup:
- Player:玩家
- Game:游戲主程序
- Scene:游戲界面
- 人工智能部分實(shí)現(xiàn)
- 分析選牌牌型
- 分析手牌并拆分成有效牌型
- 出牌/跟牌分析
- 拆牌原則:
程序簡(jiǎn)介
程序的實(shí)現(xiàn)
程序中使用到的類
Card:一副撲克牌。
接口:洗牌、抹牌及剩余牌數(shù)。CardGroup:
一組牌型,如:單張、對(duì)子、順子、炸彈等等。
屬性:包含牌序號(hào)集合、對(duì)應(yīng)牌的權(quán)值集合、該組牌的類型、權(quán)值、牌的數(shù)量; 接口:添加/刪除序號(hào)牌、重置結(jié)構(gòu)內(nèi)屬性、靜態(tài)序號(hào)到權(quán)值轉(zhuǎn)換。Player:玩家
屬性:手牌集合、手牌牌型集合、選牌集合、出牌集合、是否不出牌、玩家總分?jǐn)?shù); 接口:包括分析叫地主分?jǐn)?shù)、分析手牌、選牌、分析是否出牌(或跟牌)等。Game:游戲主程序
屬性:玩家、地主方、當(dāng)前出牌方、本局基本分、倍率、地主專屬牌集合等; 接口:相關(guān)控制游戲進(jìn)行函數(shù),及沒(méi)個(gè)步驟通知界面更新。Scene:游戲界面
包含游戲界面元素及游戲主界面緩沖去生成及窗口繪制等功能。人工智能部分實(shí)現(xiàn)
分析選牌牌型
分析手牌并拆分成有效牌型
出牌/跟牌分析
是否需要重新分析手牌,分析完成后進(jìn)行第2步;
直接出牌(最后出牌方為自己);
- 如手牌數(shù)為2,則先出王炸、炸彈、數(shù)量最多、權(quán)值最大的牌;
- 如下家為我方,其手牌數(shù)為一,則出最小單牌;如下家為敵方,其手牌數(shù)為一,盡量不出單牌,或出最大單牌;
- 其他正常出牌順序?yàn)?#xff1a;單牌(A以上的牌盡量不直接出)→對(duì)子→雙順→單順→三條、三帶一、飛機(jī)
跟友方牌(最后出牌方為我方)
- 手牌把數(shù)≤2,應(yīng)出對(duì)應(yīng)牌或炸彈,否則過(guò)牌
- 上家為地主且未跟牌,過(guò)牌
- 有對(duì)應(yīng)牌,且權(quán)值小于14,則跟,炸彈不跟;
跟敵方牌(最后出牌方為敵方)
- 有對(duì)應(yīng)牌就跟,
- 沒(méi)有就拆,
- 再著用炸彈,否則就過(guò)牌
拆牌原則:
拆牌后一定要清空牌型集合
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
- 上一篇: 概率论与贝叶斯先验
- 下一篇: php处理base64数据,php基于b