检查灯笼的类型 :param index: 四个灯笼,从1开始 :return:
(self, index: int=1)
| 183 | return GeneralBattleConfig() |
| 184 | |
| 185 | def check_lantern(self, index: int=1): |
| 186 | """ |
| 187 | 检查灯笼的类型 |
| 188 | :param index: 四个灯笼,从1开始 |
| 189 | :return: |
| 190 | """ |
| 191 | match_roi = { |
| 192 | 1: self.C_DE_1.roi_front, |
| 193 | 2: self.C_DE_2.roi_front, |
| 194 | 3: self.C_DE_3.roi_front, |
| 195 | 4: self.C_DE_4.roi_front, |
| 196 | } |
| 197 | match_empty = { |
| 198 | 1: self.I_DE_DEFEAT_1, |
| 199 | 2: self.I_DE_DEFEAT_2, |
| 200 | 3: self.I_DE_DEFEAT_3, |
| 201 | 4: self.I_DE_DEFEAT_4, |
| 202 | } |
| 203 | self.I_DE_BOX.roi_back = match_roi[index] |
| 204 | self.I_DE_LETTER.roi_back = match_roi[index] |
| 205 | self.I_DE_MYSTERY.roi_back = match_roi[index] |
| 206 | self.I_DE_REALM.roi_back = match_roi[index] |
| 207 | target_box = self.I_DE_BOX |
| 208 | target_letter = self.I_DE_LETTER |
| 209 | target_mystery = self.I_DE_MYSTERY |
| 210 | target_realm = self.I_DE_REALM |
| 211 | target_empty = match_empty[index] |
| 212 | |
| 213 | # 开始判断 |
| 214 | self.screenshot() |
| 215 | if self.appear(target_box): |
| 216 | logger.info(f'Lantern {index} is box') |
| 217 | return LanternClass.BOX |
| 218 | elif self.appear(target_letter): |
| 219 | logger.info(f'Lantern {index} is letter') |
| 220 | return LanternClass.MAIL |
| 221 | elif self.appear(target_mystery): |
| 222 | logger.info(f'Lantern {index} is mystery task') |
| 223 | return LanternClass.MYSTERY |
| 224 | elif self.appear(target_realm): |
| 225 | logger.info(f'Lantern {index} is realm') |
| 226 | return LanternClass.REALM |
| 227 | elif self.appear(target_empty): |
| 228 | logger.info(f'Lantern {index} is empty') |
| 229 | return LanternClass.EMPTY |
| 230 | else: |
| 231 | # 无法判断是否是战斗的还是结界的 |
| 232 | logger.info(f'Lantern {index} is battle') |
| 233 | return LanternClass.BATTLE |
| 234 | |
| 235 | def _box(self): |
| 236 | # 宝箱不领 |
no test coverage detected