利用Python實現FGO自動戰鬥腳本,再也不用爆肝啦~
開始
一個戰鬥腳本,其實可以算是AI的初步了。雖然只是暴力算出造成最大傷害的方案orz。
我們在這裏不考慮釋放 技能 、 寶具 和 暴擊星 這三樣非常重要的東西。。。只單純考慮 克制、 抵抗 和不同種類卡打出的傷害,目標就就是算出傷害最高的組合。
指令卡
戰鬥界面
要開始,我們首先要分析界面的組成。首先下面是一排指令卡,每張指令卡都有卡的種類(×××框)和“克制”和“抵抗”的標記(×××圈)之類的東西。那我們可以把每張指令卡視為一個 對象,然後把它的特點抽象出來。我們可以知道每張卡都有一個 坐標 ,一個 類型 (綠藍紅),一種狀態 (無/克制/抵抗),還有在點按是的 順序 (1/2/3)和 傷害系數 (這個具體有一張表)。
所以我們可以這樣做:
識別與匹配
計算法則
實現
防封
其實方法很簡單,加入隨機的點按,和不同的間隔(等待時間)就可以了,點按每張卡有位置的變化,點每張卡之間有變化的間隔,和一些故意的“誤觸”應該就沒問題,其實還可以加上一些長度不同的滑動也是可以的,簡單來說就是一堆隨機函數而已233,python學習關註我們企鵝qun: 8393 83765 各類入門學習資料免費分享哦!
整合
簡單來說就是把上面的一堆代碼整合到一起就可以了
開始界面
識別到這個界面然後點按“Attack”
結束界面
識別到“與從者的羈絆”終止腳本
中間就是上面所提到的了。也即是一個不停的循環,直到“結束”界面才終止。有什麽其他的就到時候再補充吧OWO
總結
這應該是我搞過最大最復雜的一個項目了,也是第一次接觸到一點OOP。然而這個項目還是偏實用性,畢竟沒有什麽高端的,或者更高效率的算法,這也應該是以後要改進的地方。
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,同時如果你跟我一樣都喜歡python,想成為一名優秀的程序員,也在學習python的道路上奔跑,歡迎你加入python學習群:839383765 群內每天都會分享最新業內資料,分享python免費課程,共同交流學習,讓學習變(編)成(程)一種習慣!
利用Python實現FGO自動戰鬥腳本,再也不用爆肝啦~