【AI】微信小程序 方塊消消消

介紹

大概是下圖所述一款遊戲……

感覺這種能(創造一種新的玩法)的遊戲超級厲害

這裏寫圖片描述
(最高分了……並不擅長這種遊戲)

然後當初玩的時候非常的上癮……主要是每次涼的時候都有一種(明明還空很多隻是時運不齊命途多舛所以這局死那麼早)的錯覺。
爲了顯得我沒有浪費時間……我決定探究一下它的AI……

規則

棋盤是10*10。每一輪出現三種色塊。

理論上色塊的出現是等概率事件,雖然我沒具體測試過並且感覺越到後面,大塊的色塊越多……
(如果後面發現是越來越多的話只能考慮增加動態改變概率)

基本色塊有
這裏寫圖片描述

然後分數的算法是每放一次色塊增加色塊的數量,比如我放一個色塊1就加1分,色塊17加9分。
每次消除的時候按消去幾行算*10。
也就是如果橫縱同時消去的話分數會更高,但是這點增加帶來的影響基本可以忽略不計。只需要儘可能的放置更多的色塊就可以了。

實現過程

到我寫實現的時候,這個遊戲已經是過氣遊戲了(——)大概過了一年多吧。主要是剛換Mac想嘗試一下跨平臺開發,所以想到了這個簡單的AI。這個遊戲也不再是我以前認識的那個簡單的它了(有一堆廣告?他變了)

一開始想了很多要怎麼實現,最後這個算法就用了最簡單的信息:邊界長度和格子數量。
最後的評估函數使用 -(邊界長度 + 2 * 格子數量)
稍微測試了一下按完全從這19個格子裏面隨機生成的話,大概跑分在1k左右,高的話大概能到3k+

作爲AI來看效果並不好,但是感覺再折騰就太麻煩了(而且我現在對這個遊戲沒那麼強動力了233 就反正開發出來了就行了)

整個過程大概是,Mac用的是CLion,然後起牀之後開始想要怎麼寫,到下午一兩點能夠有基礎的環境(要是看代碼庫的話把Project BlockCrash 和 BlockCrash_autotest寫了),然後測試了一會感覺自己要瞎了,然後開始加環境。研究了一圈好像就算在Mac下也是Qt用的多,於是開始配環境,這個環境一配就是大半天,(xcode下載好慢啊),中間我就滾到win上用vs接着跑,反正就還是.ui文件加不上這種奇奇怪怪的問題,到了睡前把.ui加上了拖完了按鈕。
然後爬起來xcode終於裝完了就安上了Qt,轉到mac下把信號槽之類的接完了之後,對着clion思考了很久怎麼打包出exe,後來算了又回到vs打包了。

大概感覺就是之前還是太依賴vs了很多東西都不知道,比如說就從Qt來講我不知道怎麼解決這樣一個簡單的問題,不知道cmake是什麼的結構(畢竟第一次試,跑起來就行),也不知道要怎麼加鏈接庫(後來win下直接全扔系統文件夾了),之前寫Qt圖片一直絕對路徑沒有搞資源文件也隨他了(因爲課程作業好像寫出來就行,現在開始感覺要給人看了),包括StackOverflow上很多解答我都不知道什麼意思……大概就還有很多要學的東西。

結果

視頻: https://www.bilibili.com/video/av54230862/

git庫:https://github.com/Birdy-C/BlockCrash.git

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章