使用方法:
首先建立m_probot = new crobot()物件
叫分:1.初始化手牌到m_probot->m_szhandcards陣列,手牌按牌面從小到大排序,例:200,300,101,201,102,403,205,311,210,310…,注意陣列大小,不要有空值或者0值
2.呼叫解析函式m_probot->resolution();
3.獲取叫分m_probot->getcallf(),返回0不叫,1一倍 2兩倍 3三倍
出牌:1.初始化手牌到m_probot->m_szhandcards陣列
2.呼叫解析函式m_probot->resolution();
3.設定牌池中的出牌資料:
a.m_probot->m_nlastputcardindex最後那個出牌人的座位號[0,1,2]
b.m_probot->m_nlastputcardnum牌池內牌型有多少張
c.m_probot->m_szlastputcard牌池內牌型,按牌面從小到大排序
d.解析牌池牌型m_probot->setputcardtype();
e.設定作弊資訊:eyes[3個座位對應的手牌數量]int m_szcardnum[3];對家的可能炸彈最大牌面int m_nmaxbombcard;對家大小王2和a的數量int m_nnumk, m_nnumk, m_nnum2, m_nnuma;f.獲取出牌: m_probot->getputcard(nmyseat/我的座位號/, nmastseat/地主座位號/);
牌標記: 牌使用3位數標記,第一位是花色[14],後兩位是牌面,0表示3,12表示2[012],小王113大王114
則黑桃3就是100,紅桃3是200,黑桃4是101類推
解壓密碼:[email protected]
歡迎各位開發愛好者討論
鬥地主出牌演算法
根據鬥地主出牌規則.對玩家出的牌進行檢驗.判斷是否符合出牌規則.關於鬥地主的出牌規則網上有很多 思路 將玩家的牌按公升序排序.然後將牌進行拆分,分存在4個陣列中.拆分規則如下 假設有牌 333 444 555 789 則拆分後陣列中的資料如下 arr 0 345789 arr 1 345 arr 2...
鬥地主機械人
上面是機械人出牌的基本思路 一 炸彈為主 第一步 找出所有的炸彈 第二步 找出所有的最可能多的單順 第三步 找出所有的三順 第四步 找出所有的雙順 第五步 找出所有的三張 第六步 找出所有的對子 第七步 剩餘的都是單牌 二 單順為主 分拆不拆炸彈兩種 第一步 找出所有的最可能多的單順 第二步 找出所...
鬥地主AI演算法 第七章 被動出牌 1
哎,之前扯了那麼多蛋,終於講出牌了!本章開始講被動出牌的邏輯演算法。首先我們先把架子搭起來,被動出牌我們肯定是要知道場上目前打出的是什麼牌型。在第二章資料結構裡我們定義過,遊戲全域性類裡面有乙個存放當前牌型結構的成員,即 當前打出牌的型別資料,被動出牌時玩家根據這裡做出篩選 cardgroupdat...