【AvZ插件】批量測試工具 AvZ Testing
源碼(長期更新):
https://github.com/Rottenham/avz-testing
百度網(wǎng)盤壓縮包(20220609版本):
鏈接:https://pan.baidu.com/s/1k4kfgZBsVpGw1TLikdp3BQ?
提取碼:1437
功能介紹:
基于新版AvZ跳幀功能,進行不更新游戲畫面的快速批量化測試;
復(fù)合了包括無視陽光、自由種植、僵尸不進家等測試需要的修改器功能;
定義ZombieData類,可以傳入自定義判斷函數(shù)與處理函數(shù),每幀對所有僵尸進行檢測,若滿足判斷函數(shù),則執(zhí)行處理函數(shù)??梢杂脕頊y試巨人砸率;
定義ZombieData類的子類JackData,封裝了一些常用功能,專門用于測試小丑炸率;
提供將特定植物設(shè)為永動攻擊狀態(tài)的功能,更符合一些場景的測試需要;
支持僵尸未消滅前暫停刷怪、將所有波次統(tǒng)一為普通波或旗幟波、平均分配僵尸行數(shù)等其它便捷功能。
依賴項:
推薦配合AvZ Logger使用,可以將輸出結(jié)果保存至txt,且支持即測即存。壓縮包內(nèi)已配有AvZ Logger頭文件;
基于AvZ 220213版本開發(fā),不確保對其它AvZ版本的兼容性。
使用方法:
將 avz_testing.h 與 avz_logger.h 置于 AvZ/inc 目錄后,編寫腳本并運行即可。
需在Script()函數(shù)前添加“using namespace cresc;”
運行完畢后,會跳出彈窗,展示統(tǒng)計信息。
每次測試前,請重新注入 AvZ 腳本,否則可能會遇到問題。若上一次測試正常結(jié)束,會自動取消多次注入(見代碼)。
使用示例:
七八九列曾炸率測試.cpp —— 測試該構(gòu)型的小丑炸率。已提取整合大部分有修改需求的參數(shù),稍作修改便可測試其它構(gòu)型的炸率;
PE靠天無炮炸率測試.cpp —— 測試完整陣型的炸率(以PE靠天無為例);
FE18守全減速PD砸率測試.cpp —— 測試FE18守全特定波次的砸率。
示例里默認使用 AvZ Logger 記錄相關(guān)數(shù)據(jù)。輸出文件將優(yōu)先被保存至桌面的 AZL_output 文件夾下。
若打開該文件夾失敗,程序會試圖在 C:\Software\AsmVsZombies 目錄下創(chuàng)建 AZL_output 文件夾。
你可以自行指定輸出文件夾的位置,如:
cresc::Logger Log("C:/MyFolder");
若使用反斜杠,請使用雙反斜杠,如:
cresc::Logger Log("C:\\MyFolder");
考慮到測試樣本量大的情況,示例程序默認將統(tǒng)計結(jié)果分10次輸出,即便中途退出也能盡可能保留數(shù)據(jù)。
常見問題:
腳本編譯通過,但進入關(guān)卡時卡頓或閃退
先嘗試重新編譯腳本并注入。若仍有問題,一般是存檔出現(xiàn)損壞,重制存檔文件即可。
測試運行期間游戲無響應(yīng)
跳幀測試期間,游戲無響應(yīng)屬正?,F(xiàn)象,但每2f結(jié)束時選卡界面會正常顯示。
若長時間無響應(yīng),請使用?PVZ Tools?或?無炮輔助?等能夠顯示刷新倒計時的工具,檢查是否卡在某一波次。一般這種問題的原因是測試腳本編寫有問題。
鳴謝:
感謝AvZ鍵控框架作者yuchenxi0_0與vector-wlc;感謝PVZ Tools修改器作者lmintlcx;感謝炸率測試插件作者Reisen。