Facebook 板


LINE

: → sitos:倒是很希望可以跟其它有興趣寫 bot 的人交流一下 : 推 sitos:讀盤面進來判斷阿... 然後盡量多連一點? 目前還沒有作搜尋 : → sitos:不過讀點的顏色很容易誤判就是了... 這部份也還沒克服 : → sitos:不過其實判斷還滿複雜的... (為了高分) : → sfwejfish:你跟我說用啥寫的 我有興趣(咦 : → sfwejfish:完全沒碰過模擬輸入 囧 : 推 sfwejfish:編譯程式的話 GWB QB TC BC VC VB VS2008(MFC) 囧 詢問了一下板主,看來「機器人」應該不算在板規十一這條規定的範圍之內。 ▕ 十一、禁止討論惡意程式、作弊方式、BUG ▏ ▕ ▏ ▕ 禁止詢問、討論、分享或推廣任何竄改封包、修改記憶體或其 ▏ ▕ 他足以影響遊戲公平性的惡意程式、作弊方式或 BUG 等資訊 ▏ ▕ (含教學、心得、相關圖文、影片、關鍵字、分享或徵求程式 ▏ ▕ 、詢問使用方式等,詳細說明請見 #1C2zNPjg。) ▏ ▕ ▏ ▕ 發文處分:視情況水桶一周以上、原文逕行刪除或劣退。 ▏ ▕ 推文處分:視情況水桶一周以上,一行推文視為一案,得連續 ▏ ▕ 處分。 ▏ ▕  累犯追加:水桶加倍。 ▏ 因為「機器人」的運作原理上,並沒有竄改封包、修改記憶體, 而寶石方塊也不是對抗性的遊戲,所以比較沒有遊戲公平性的問題。 如果這篇文章以下的內容違反板規,請板主提醒,我會把文章刪掉。 進入正題之前,還是先提醒一下,這種靠反應和動作的遊戲, 「機器人」的能力遠勝過人手在玩是一定的。 作機器人並不是要顯示機器人比較厲害(因為這是早就知道的事), 而是想要知道: 1. 某些人手不可能達成的動作,做出來以後會是什麼樣的效果。 2. 遊戲進行的規則,例如倍數方塊出現的條件為何。 3. 在不破解遊戲的情況下,進行遊戲高分的可能性為何。 簡單來講,用手進行遊戲有用手進行的緊張感和樂趣, 而開發機器人,尋找高分的移動演算法,則有另外一番風趣。 各有各的樂趣,如果不喜歡機器人,對機器人沒興趣,請忽略這篇文章。 我的機器人是用 VC 2008 寫的,但我想其它 Windows 下的工具應該也可開發。 而我的對象程式則是用 chrome 開啟的 facebook 中的寶石方塊。 整個程式的流程大致如下: [找尋寶石方塊程式 FindWindowEx] v [取得遊戲畫布 GetDC] v [讀取遊戲盤面 GetPixel] <-- | v | | [決定移動] | | v | | [發出移動指令 SendMessage] -- 目前在製作上的兩大困難主要是在「讀取盤面」和「決定移動」上面。 讀取盤面的困難在於 1. 方塊的顏色並不是固定的,例如十字爆炸和小黑, 方塊的顏色是隨時間改變的,因此辨認上較為困難。 2. 會有沒用的訊息出現在盤面中,例如一開始的「GO」, 還有一堆 Good, Excellent ... 以及分數等等 3. 遊戲進行中方塊是會動的,尤其是從上面掉下來的方塊, A 顏色的方塊在掉的時候可能剛好符合 B 顏色的特徵。 這部份大概可以靠作苦工,慢慢把所有的例外修完,不曉得有沒有更好的辦法。 我有朋友建議我去讀記憶體,不過那有點作弊了,所以我就沒那樣去做。 決定移動的困難,其實主要可以分成兩個部份。 第一,怎樣的移動可以在寶石方塊這個遊戲當中取得高分,這取決於這個遊戲的規則。 先前我發的文章,也多是針對這個問題問的,當然也有一些心得。 我認為這是作機器人的樂趣之一,有興趣的人不妨自己動手調整,看看是否能更高分。 為了幹這件事,我好幾天整個晚上都坐在電腦前看機器人玩寶石方塊, 看到連閉上眼睛跟作夢,都會見到方塊合起來的影像。(有點太過火了)。 第二,怎樣達成前面觀察到的條件。例如是否只依目前盤面作決定, 或者要對可能的組合作最佳化。是不是要引入搜尋的概念等等。 這部份我目前都只有依目前盤面,甚至可以說依目前檢查到的這顆方塊來決定。 所以還有很大的進步空間,不過時間和動力不足,因為分數還沒有被超越。 我把一個簡化版的 source code 放在 http://sitos.myweb.hinet.net/Blitz-Simple.rar 裡面有我上面寫的基本流程的程式碼,基本上寫機器人需要用到的 API , 裡面都有示範應該要怎麼樣使用。想要嘗試的人,可以用 chrome 開 fb 的寶石方塊, 為了確保它抓得到該視窗,請不要同時用 chrome 開啟其它的網頁, 先進入寶石方塊的開始畫面,然後啟動這個程式,再幫它點開始,它應該就會動了。 這個範例是一個閹割過的版本,不會判斷任何特殊方塊, 所以很容易自己跑一跑卡住,因為這個程式的目的只是讓有興趣的人, 可以以這個程式為基礎來開發自己的機器人。直接用這個程式, 是無法取得很高的分數的,因為幾乎該有的功能都沒有。 目前我的 Bot 在我這邊自己做到第四版,而這個程式是從第一版割出來的。 所以當然... 相當地弱。 最後附上目前我手上有的 replay 裡面最高分的紀錄。 無道具 http://sitos.dyndns.org/Blitz.html 有道具 http://sitos.dyndns.org/Blitz2.html 希望對開發機器人有興趣的人可以以此為起點享受不一樣的樂趣。 如果有人得到更高的分數,煩請分享一下 replay ,這會給我改進 bot 的動力。 也可以讓我觀摩一下不一樣的演算法怎麼樣得到更高的分數。 :) -- 我實實在在的告訴你們,一粒麥子不落在地裡死了, 仍舊是一粒,若是死了,就結出許多子粒來。 約翰福音 12:24 --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 60.248.178.71
1F:→ ColdDark:我覺得這是款運氣成分很高的遊戲,機器人不一定拿的到高分 07/19 21:14
2F:→ ColdDark:不過平均分數應該會比大部分的人手高應該是沒問題的 XD 07/19 21:14
3F:→ sitos:我現在的版本要是沒剛好遇到 Bug ,平均已經超過 1M 了。 07/19 21:17
4F:→ sitos:我開個實況好了,不然只放最高分可能覺得太看運氣。 07/19 21:18
http://zh-tw.justin.tv/sitos 放著讓它跑一陣子,不過月亮神助出現可能會卡住。 ※ 編輯: sitos 來自: 60.248.178.71 (07/19 21:22)
5F:推 kto0623:好帥XD 07/19 22:06
6F:推 Rayko:那個...雖然用程式或是用CE暫停時間可以達到同時移動 07/19 22:49
7F:→ Rayko:無數個方塊 但是還是有它的規則在 07/19 22:49
8F:→ Rayko:比如說硬拉三個方塊去湊一個五連黑星 是會被系統彈回來的 07/19 22:50
是的,這個我最早的版本就試驗過了,不行。 不過我也找到了可以拉在一起的規則。從上面的 replay 應該就看得出來了。 :)
9F:推 martian001:推~ 還有實況真有趣XDDD 07/19 23:47
10F:推 jujang:晚點測試看看 感謝分享 07/20 00:04
11F:→ ohyago:看你最高分的REPLAY 七跟八倍好像是都差10秒才出現@@ 07/20 06:37
http://sitos.dyndns.org/Blitz.html 裡面 x7 是 44s 出現 x8 是 39s 不到 10 秒阿?
12F:推 wcmwcm:實況真是有趣,看機器人玩寶石方塊有種見鬼了的FU~ 07/20 11:40
13F:→ wcmwcm:認真推~~ 07/20 11:40
14F:推 shwu0426:好有趣!! 07/20 13:04
實況先關了,很吃上傳。 :) ※ 編輯: sitos 來自: 60.248.178.71 (07/20 20:16)
15F:推 DJY:玩到破140W了... 07/20 20:17
16F:推 jujang:應該說擺著讓機器人玩 07/21 20:54
17F:推 ianwww:有關x2的方塊啊..根據用變速器慢慢玩的經驗...應該跟前面 07/25 16:42
18F:→ ianwww:說的沒錯.正常情況下是動一個方塊然後消12個以上..就出現 07/25 16:42
19F:→ ianwww:但進到加速狀態時..1000up?變成動一次方快要消好幾個才會出 07/25 16:43
20F:→ ianwww:現..像我都是用黑星去消十字..or黑星消兩個爆炸以上都會出 07/25 16:44
21F:→ ianwww:現..另外再動方塊前..盤面方快要停住.而不是盤面還在掉就在 07/25 16:45
22F:→ ianwww:動..根據以上方法..10s的限制是不存在的..通常可在剩35s前 07/25 16:46
23F:→ ianwww:消到x8...最高紀錄是340萬(變速器) 07/25 16:48
24F:→ ianwww:http://ppt.cc/3PXP 我期待機器人變得更聰明^^ 07/25 16:55







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:WOW站內搜尋

TOP