1. 程式人生 > >利用Python實現FGO自動戰鬥腳本,再也不用爆肝啦~

利用Python實現FGO自動戰鬥腳本,再也不用爆肝啦~

實現 之間 一次 size 寫一個腳本 實用 免費 時間 沒有

Fate/Grand Order(非的肝不過歐的)作為索尼為了拯救自己不倒閉而開發的面向月廚的騙氪養成抽卡爆肝遊戲,居然沒有像隔壁《陰陽師》的自動戰鬥系統(看看別人現在都自帶腳本了)。畢竟是懶得肝,就不妨寫一個腳本來肝算了,省時省力。

開始

一個戰鬥腳本,其實可以算是AI的初步了。雖然只是暴力算出造成最大傷害的方案orz。

我們在這裏不考慮釋放 技能 、 寶具 和 暴擊星 這三樣非常重要的東西。。。只單純考慮 克制、 抵抗 和不同種類卡打出的傷害,目標就就是算出傷害最高的組合。

指令卡
技術分享圖片
戰鬥界面

要開始,我們首先要分析界面的組成。首先下面是一排指令卡,每張指令卡都有卡的種類(×××框)和“克制”和“抵抗”的標記(×××圈)之類的東西。那我們可以把每張指令卡視為一個 對象,然後把它的特點抽象出來。我們可以知道每張卡都有一個 坐標 ,一個 類型 (綠藍紅),一種狀態 (無/克制/抵抗),還有在點按是的 順序 (1/2/3)和 傷害系數 (這個具體有一張表)。

所以我們可以這樣做:

技術分享圖片
識別與匹配
技術分享圖片
計算法則
技術分享圖片
實現
技術分享圖片
防封

其實方法很簡單,加入隨機的點按,和不同的間隔(等待時間)就可以了,點按每張卡有位置的變化,點每張卡之間有變化的間隔,和一些故意的“誤觸”應該就沒問題,其實還可以加上一些長度不同的滑動也是可以的,簡單來說就是一堆隨機函數而已233,python學習關註我們企鵝qun: 8393 83765 各類入門學習資料免費分享哦!

整合

簡單來說就是把上面的一堆代碼整合到一起就可以了
技術分享圖片
開始界面

識別到這個界面然後點按“Attack”
技術分享圖片
結束界面

識別到“與從者的羈絆”終止腳本

中間就是上面所提到的了。也即是一個不停的循環,直到“結束”界面才終止。有什麽其他的就到時候再補充吧OWO

總結

這應該是我搞過最大最復雜的一個項目了,也是第一次接觸到一點OOP。然而這個項目還是偏實用性,畢竟沒有什麽高端的,或者更高效率的算法,這也應該是以後要改進的地方。

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,同時如果你跟我一樣都喜歡python,想成為一名優秀的程序員,也在學習python的道路上奔跑,歡迎你加入python學習群:839383765 群內每天都會分享最新業內資料,分享python免費課程,共同交流學習,讓學習變(編)成(程)一種習慣!

利用Python實現FGO自動戰鬥腳本,再也不用爆肝啦~