日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux spt 脚本,写一个简单的FGO脚本

發布時間:2024/1/1 linux 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux spt 脚本,写一个简单的FGO脚本 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

正好最近事情比較少,就抓緊時間簡單寫了一個FGO腳本(API),當初的想法相當簡單,就是想寫一個abstract的FGO的API來實現對FGO的操作,同時還可以當腳本來用。

思路

因為是關于FGO操作的API,所以只要把各種操作抽象出來就好了:

選擇關卡

選擇助戰

開始戰斗

選擇指令卡(包括寶具卡)

選擇從者技能

普通的技能

有目標從者的技能

選擇御主技能

普通的技能

有目標從者的技能

換人技能

戰斗結束

基本上的內容就那么多,還有像是金蘋果之類的就打算之后再加上去。

還有要考慮的其他東西有:

戰斗界面比例

隨機點按和點按位置的偏移

戰斗界面識別

然后,和之前的自動戰斗的腳本一樣,同樣使用ADB進行操作。

實現

1.輔助函數

主要的輔助函數有以下幾個:(放在util.py之中)

截圖(ADB)

裁剪(PIL)

界面識別(OpenCV)

template matching的坐標獲取(OpenCV)

點按(ADB)

坐標偏移(random)

2.游戲界面坐標采集

這個沒啥好說的,就是對者 Photoshop 把每一個需要用到的按鈕的坐標記錄下來。主要都放在了crds.py里面,還有一些像是checkpoint和support這樣坐標不確定的則通過OpenCV識別。

3.主程序

其實具體的代碼的Structure已經在前面講過了,在這里舉幾個例子:

初始化

def __init__(self, ckp : str, spt : str = None, sft = (0, 0)):

self.shifts = sft

self.checkpoint = ckp

self.support = spt

構造這樣一個類的好處就是在后面應用別的函數時會比較方便,特別是關于界面偏移(非16:9適配)而且如果之后加上金蘋果計數時也很方便。這里就初始化了關卡和助戰。

指令卡選擇

def select_cards(self, cards : [int]):

while not util.standby(util.get_sh(self.shifts), "assets/attack.png"):

time.sleep(0.2)

# tap ATTACK

self.tap(crds.ATTACK, 100, 100)

time.sleep(1)

while len(cards) < 3:

x = random.randrange(1, 6)

if x in cards:

continue

cards.append(x)

# tap CARDS

for card in cards:

self.tap(crds.CARDS[card-1], 50, 100)

time.sleep(0.2)

這段代碼要做的就是首先檢測是不是在戰斗界面(因為界面變化需要一定時間),然后注意這個函數接受一個List,這個list對應的就會是儲存的指令卡的坐標。當接受的list的長度小于3時(不滿三張卡),程序就會自動往其中添加其他的普通卡(非寶具)直至三張,這樣對只需要點寶具的速刷相當友好,同時隨機點按減少了當腳本使用時被封的可能性。

技能選擇

def select_servant_skill(self, skill : int, tar :int = 0):

while not util.standby(util.get_sh(self.shifts), "assets/attack.png"):

time.sleep(0.2)

self.tap(crds.SERVANT_SKILLS[skill-1], 8, 8)

time.sleep(1)

if tar != 0:

self.select_servant(tar)

這個整體來說還是很好理解,甚至比選擇指令卡更加簡單。注意里面第二個參數tar是可選參數,當是0的時候表示沒有目標從者(像是式姐的一技能),如果是其他數字時則代表目標從者(像是梅林三技能)。

結尾

總的來說,因為這個腳本整體思路并不難所以寫出來相當的容易。

剩下的感受還有一些詳細的東西到時候再補充OWO

總結

以上是生活随笔為你收集整理的linux spt 脚本,写一个简单的FGO脚本的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。