修理を考える
ある程度有名どころの周回を想定するなら修理は必須の処理になります、どっかのゲームと違ってロストする訳ではないので多少は気楽ですが友好度下がるのは地味にイヤなので真面目に検討しましょう
ひとまずの想定は0-2なので損害受ける壁はM16姉に決め打ち、対象は一人としましょう
これまでの蓄積があれば修理必要な人形をすべて処理したり、複数設定したりも作れるはずです
procedure P_repair(target, target_selected)
// 修復メニュー、空きスロット選択後の処理
// targetを高速修復する、指定は顔写真ファイル名(選択前、選択後)
// targetをスクロールしてまでは探してない、注意
// 修復枠は空き家探すつもり
// 正常終了時falseを返す
chkimgx(target, NOXid, 5, 130, 1090, 450, 1, 15, -1) //Target検索、1列目のみ(将来はスクロールして探しにいく)
Px = G_IMGX_X
Py = G_IMGX_Y
repeat
P_adb_BTN(Px + delta_X ,Py + delta_Y , 100+randomx(100), "Set target") //M16選択
P_random_sleep(0.5,1)
until chkimgx(target_selected, NOXid, 5, 130, 1090, 450, 1, 15, -1) //Target選択済表示待ち
tim = gettime() + 15 //タイムオーバー判定用
ifb chkimgx("confirm.bmp", NOXid, 1165, 525, 1230, 600, 1, 10, -1) then
Px = G_IMGX_X
Py = G_IMGX_Y
repeat
P_adb_BTN(Px + delta_X , Py + delta_Y , 300+randomx(200), "Apply") //確認
sleep(1)
ifb tim < gettime() then
print "Time over repair apply"
exitexit
endif
until chkimgx("speedup.bmp", NOXid, 275, 585, 360, 700, 1, 10, -1)
Px = G_IMGX_X
Py = G_IMGX_Y
else
print "Error repair apply"
exitexit
endif
repeat
P_adb_BTN(Px + delta_X , Py + delta_Y , 100+randomx(100), "Speed up") //確認
P_random_sleep(0.5,1)
until chkimgx("speedup_set.bmp", NOXid, 275, 585, 360, 700, 1, 10, -1)
ifb chkimgx("confirm.bmp", NOXid, 890, 595, 950, 700, 1, 10, -1) then
Px = G_IMGX_X
Py = G_IMGX_Y
else
print "Error repair speed up confirm"
exitexit
endif
repeat
P_adb_BTN(Px + delta_X , Py + delta_Y , 100+randomx(100),"Apply") //確認
sleep(1.5)
until chkimgx("repair_complete.bmp", NOXid, 630, 480, 720, 560, 1, 15, -1) //修理完了表示待ち
ifb chkimgx("repair_complete_close.bmp", NOXid, 550, 605, 620, 705, 1 ,10, -1) then
Px = G_IMGX_X
Py = G_IMGX_Y
else
print "Error repair complete confirm"
exitexit
endif
repeat
P_adb_BTN(Px , Py , 200 + randomx(100), "Close") //閉じる
sleep(1)
until chkimgx("back_home.bmp", NOXid, 0, 20, 140, 100, 1, 15, -1) //完了表示消去待ち
P_adb_BTN(G_IMGX_X + delta_X ,G_IMGX_Y + delta_Y ,100) //戻るクリック
repair = false //完走したらフラグ降ろす
fend修理対象選択しても画面上のボタン表示やメニューの変化に乏しいので顔写真の変化で検知する苦しい小技を使っています
例によって設定時間内に規定の動きになっていない場合は異常終了ということで強制停止させてます
失敗パターンが判ればリカバリ操作を書き加えてもいいと思います