本專案是一個針對遊戲《史萊姆礦工》設計的自動化輔助程式。以下說明系統的程式架構與執行方式。
本程式採用 前端介面 (GUI) 與 後端邏輯 (Logic) 分離的設計模式,確保在執行複雜的圖像辨識運算時,視窗介面仍能保持回應。
這是程式的入口點,負責:
- 圖形介面: 使用 Python 內建的
tkinter庫建立操作面板。 - 多執行緒管理: 所有耗時的自動化腳本都在獨立的執行緒 (Thread) 中運行,避免阻塞主介面。
- 訊息重定向: 將後端腳本的
print輸出即時顯示在 GUI 的文字框中,方便監控狀態。
這是自動化腳本的「大腦」,負責:
- 任務排程: 包含一個主循環 (Main Loop),根據時間間隔判斷何時執行特定任務(如:每 30 分鐘檢查 Boss、定時收礦)。
- 流程控制: 調度各個功能模組 (
detect*.py) 依序執行。
這是程式的「眼睛」,負責:
- 多尺度匹配: 使用 OpenCV (
cv2) 演算法。考慮到不同裝置的解析度差異,它會自動縮放範本圖片 (Image/資料夾內的.png) 進行比對。 - 區域搜索: 支援在特定螢幕範圍內搜尋,提高效能與準確度。
每個 .py 檔案代表一個具體的遊戲功能,例如:
detectBoss.py: 處理 Boss 戰鬥流程。detectCoinBox.py/detectDrillBox.py: 處理各類寶箱的偵測與開啟。detectStore.py: 處理商店互動。
請依照以下步驟設定環境並執行程式:
確保您的電腦已安裝 Python 3.x,並安裝必要的依賴套件:
pip install -r requirements.txt在終端機 (Terminal) 或命令提示字元 (CMD) 中執行主程式:
python main.py(註:如果有編譯好的 Slime_Script.exe,直接雙擊執行即可)
- 開啟遊戲: 請先開啟《史萊姆礦工》遊戲視窗,並確保視窗內容清晰可見(請勿最小化視窗)。
- 參數設定 (選擇性):
- 首次使用建議點擊「更新鑽頭圖片」與「更新區域偵測」以校準辨識參數。
- 可依需求點擊「修改探索模式」或「修改循環參數」調整腳本行為。
- 開始執行: 點擊介面上的 「執行遊戲腳本」 (綠色按鈕)。
- 執行中: 程式會自動接管滑鼠控制。請勿移動滑鼠或使用鍵盤,以免干擾腳本運作。
- 停止: 若需暫停或結束,點擊介面右下角的 「停止」 (紅色按鈕)。
- 程式執行期間,請確保遊戲畫面不被其他視窗遮擋。
- 圖片辨識依賴
Image/資料夾中的圖片,請勿隨意更名或刪除。