1. 程式人生 > >棋牌源碼搭建教程之棋牌遊戲AI算法

棋牌源碼搭建教程之棋牌遊戲AI算法

算法

棋牌遊戲客戶端實現采用Flash 9開發,服務端采用Win32+VC6開發(基於IOCP),數據庫網關采用Win32+VC6開發(基於IOCP,MySQL5實現了處理線程池和數據庫連接池).雖然服務器端去年就已經完成,但相應的機器人AI算法一直沒有能力去實現.今天把它拿到Blog上來希望有機會和感興趣的兄弟們探討下.

Kevin在他的Blog上給出了他的實現,其給出的算法思想是用寬度優先生成一棵搜索樹,再根據玩牌的技巧進行剪枝與判權,機器人的AI能夠像養成類遊戲那樣,實現在蹂躪下慢慢成長,水平逐步提高.雖然Kevin給出了算法的基本思想,但小弟愚笨還是沒能領悟到禪機呀(更多詳細算法 棋牌源碼架設

www.yasewl.com).

我認為遊戲AI應該具有如下特性:

(1)團隊意識

打麻將遊戲中每個玩家自成一家就無所謂了,但對於像鬥地主這樣的遊戲,玩家是分組的,AI機器人當地主和當農民時的出牌策略應該是不同的.

(2)記牌

AI機器人能夠響應各個玩家已經打出的牌,以便於以後的決策.同時,還應該為服務器作弊提供接口.比如, 麻將類遊戲,AI機器人在決策時就可以偷偷的看其它玩家手中的牌或是看牌桌上還未派發的牌;對於鬥地主遊戲,AI機器人在決策時也可以偷偷的看其它玩家手中的牌.

(3)訓練和學習

通過與遊戲高手的練習能夠訓練和提高AI機器人的智力水平,逐步學習和提高.

(4)知識庫的存儲

AI機器人的知識庫應該是可以以數據文件的形式在計算機中進行存儲的.機器人在啟動的時候加載配置的知識庫數據文件.

也不知道我的想法是否過於理想,反正至今還沒找到一個合適的模型來抽象和表示遊戲的決策過程


本文出自 “白天不懂夜的黑” 博客,請務必保留此出處http://13134261.blog.51cto.com/13124261/1947876

棋牌源碼搭建教程之棋牌遊戲AI算法