我可能是做了假爐石

最近學了一下libSVM的基礎用法,嗯,很基礎的那種,原理什麼的數學不太好真心不能手寫一個啊,然後加上一個垃圾估值網路,我就可以開心的復(山)刻(寨)自己喜歡的遊戲——爐石傳說了。

一共有兩個模式,左邊的是訓練,右邊的是使用你訓練出的AI對戰。是不是很簡單(逃

訓練AI時,每次你的回合出牌之前,電腦都會問你你認為面對當前的局面,應該是選用站場策略還是解場策略,這樣就可以簡單地把問題劃歸為分類器問題啦!(然而還是存在很多問題,後面我們會提到。

這裡先後手可能對遊戲平衡性影響比較大,因為只搞了30張卡牌,所以先手優勢可能比較明顯。。。哭哭,下個版本重構這個項目(

AI的好處是算控場和斬殺還是很精準的,而且比人類快,不過策略啊,打combo啊,總歸是遜色一點。另外隨便寫了個界面,操作手感也可能比較垃圾。比如選擇手牌時點擊右下角綠色確認鍵才能出牌。一次只能出一張牌,再想出牌還要點右下角手牌區域。比如使用隨從時,按住左鍵,把這個隨從拖拽到你的攻擊目標上,才能完成攻擊。當然也是因為代碼寫得太隨性了(

不過這個思路我感覺還不錯可以成為一些小白入門機器學習的練手項目(大神都知道,SVM並不太適合解決這種AI),畢竟入門就要從簡單的出發,充分調動自己的興趣,為了這個我可是把概率論線代複習了一遍什麼的,也算是有進步。

好啦,多說無益,放碼過來。代碼在這裡:TiriSane/CardLearning。歡迎大家批評指教。


推薦閱讀:

hash tree 在apriori 演算法中是如何進行支持度計數的?
映射隊列(上)
[求助]有熱心人能用伺服器幫我跑下levidb8的測試嗎?
怎樣獲取三維點集中平均距離最大的四個點?
成功人士從不刷Leetcode(3)

TAG:炉石传说Hearthstone | C | 算法与数据结构 |