Esempio n. 1
0
    def mianfeiniudan(self):

        ts = self.AR.get("time_status", UDD["time_status"])
        if not diff_5_12hour(time.time(), ts["niudan"]):
            self.log.write_log("info", "该时间段已经抽取过免费扭蛋!")
            return
        self.lock_home()

        def sheding_zairu(screen):
            if self.is_exists(NIUDAN_BTN["niudan_sheding"], screen=screen):
                self.click_btn(NIUDAN_BTN["niudan_sheding"])
                return self.restart_this_task()
            return screen

        def tiaoguo_tishi(screen):
            if not self.is_exists(NIUDAN_BTN["gem"], screen=screen):
                self.click(1, 1)
                return self.getscreen()
            return screen

        self.register_precheck("skip_load", sheding_zairu)
        self.register_precheck("skip_note", tiaoguo_tishi)
        self.lock_img(NIUDAN_BTN["gem"], elseclick=MAIN_BTN["niudan"])
        state = self.lock_img(
            {
                NIUDAN_BTN["putong_mianfei"]: 1,
                NIUDAN_BTN["putong_wancheng"]: 2
            },
            elseclick=NIUDAN_BTN["putong"],
            retry=5,
            is_raise=False)
        self.remove_precheck("skip_note")
        if not state:
            self.log.write_log("error", "扭蛋检测失败。")
            self.lock_home()
            return
        if state == 1:
            self.lock_img(NIUDAN_BTN["putong_quxiao"],
                          elseclick=NIUDAN_BTN["putong_mianfei"])
            self.lock_no_img(NIUDAN_BTN["putong_quxiao"],
                             elseclick=NIUDAN_BTN["putong_ok"])
            self.lock_no_img(NIUDAN_BTN["niudanjieguo_ok"],
                             elseclick=NIUDAN_BTN["niudanjieguo_ok"])
            # TODO 第一次扭蛋设置
        else:
            self.log.write_log("info", "可能已经领取过免费扭蛋了")
        ts["niudan"] = time.time()
        self.AR.set("time_status", ts)
        self.lock_home()
 def mianfeiniudan(self):
     # 免费扭蛋
     # 2020-07-31 TheAutumnOfRice: 检查完毕
     ts = self.AR.get("time_status", UDD["time_status"])
     if not diff_5_12hour(time.time(), ts["niudan"]):
         self.log.write_log("info", "该时间段已经抽取过免费扭蛋!")
         return
     self.lock_home()
     self.lock_img(MAIN_BTN["liwu"], ifclick=MAIN_BTN["niudan"])
     while True:
         # 跳过抽奖提示
         time.sleep(4)
         screen_shot_ = self.getscreen()
         if UIMatcher.img_where(screen_shot_, 'img/niudan_sheding.jpg'):
             self.guochang(screen_shot_, ['img/niudan_sheding.jpg'],
                           suiji=0)
             break
         else:
             time.sleep(1)
             self.click(473, 436)  # 手动点击
             time.sleep(2)
             break
     state = self.lock_img(
         {
             NIUDAN_BTN["putong_mianfei"]: 1,
             NIUDAN_BTN["putong_wancheng"]: 2
         },
         elseclick=NIUDAN_BTN["putong"],
         retry=5,
         is_raise=False)
     if not state:
         self.log.write_log("error", "扭蛋检测失败。")
         self.lock_home()
         return
     if state == 1:
         self.lock_img(NIUDAN_BTN["putong_quxiao"],
                       elseclick=NIUDAN_BTN["putong_mianfei"])
         self.lock_no_img(NIUDAN_BTN["putong_quxiao"],
                          elseclick=NIUDAN_BTN["putong_ok"])
         self.lock_no_img(NIUDAN_BTN["niudanjieguo_ok"],
                          elseclick=NIUDAN_BTN["niudanjieguo_ok"])
         # TODO 第一次扭蛋设置
     else:
         self.log.write_log("info", "可能已经领取过免费扭蛋了")
     ts["niudan"] = time.time()
     self.AR.set("time_status", ts)
     self.lock_home()