Ejemplo n.º 1
0
 def on_click_campaign_repeat_btn(self):
     QMessageBox.information(
         self, 'Help', 'Как выделить 2 кнопки:\n'
         '1) Выделяем кнопку "Заново"\n'
         '2) Нажимаем Enter\n'
         '3) Выделяем кнопку "Смена героев"\n'
         '4) Нажимаем Enter\n'
         '5) Нажимаем Esc', QMessageBox.Ok)
     game_module.focus_raid()
     points = game_module.init_rects_from_raid(
         'Выделите кнопку "Заново" и "Смена героев"')
     if len(points) != 2:
         self.parent().status_bar.showMessage(
             'Необходимо выделить 2 кнопки!')
         return
     if points[0].x < points[1].x:
         game_module.set_repeat_btn_position(points[0])
         game_module.set_change_btn_poistion(points[1])
         self.campaign_repeat_label.setText(
             'Координаты кнопки "Заново": {} {}\n'
             'Координаты кнопки "Смена героев": {} {}'.format(
                 points[0].x, points[0].y, points[1].x, points[1].y))
     else:
         game_module.set_repeat_btn_position(points[1])
         game_module.set_change_btn_poistion(points[0])
     self.campaign_count_repeat_textbox.setDisabled(False)
     self.campaign_test_btn.setDisabled(False)
     self.campaign_start_btn.setDisabled(False)
     self.campaign_cancel_btn.setDisabled(False)
     self.campaign_is_cycled_checkbox.setDisabled(False)
Ejemplo n.º 2
0
 def on_click_blind_extract_btn(self):
     game_module.focus_raid()
     point = game_module.init_rect_from_raid('Выделите кнопку "Заново"')
     game_module.set_repeat_btn_position(point)
     self.blind_label_extracted.setText(
         'Координаты кнопки "Заново": {} {}'.format(point.x, point.y))
     self.blind_count_repeat_textbox.setDisabled(False)
     self.blind_start_repeat_btn.setDisabled(False)
Ejemplo n.º 3
0
 def on_click_campaign_test_btn(self):
     game_module.focus_raid()
     need_change = game_module.is_need_change_heroes()
     QMessageBox.information(
         self, 'Test information', 'Is need change heroes?\n- {}'.format(
             'yes' if need_change else 'no'), QMessageBox.Ok)
     if self.campaign_max_energy_textbox.text() != '':
         max_energy = int(self.campaign_max_energy_textbox.text())
         is_enough_energy = game_module.is_enough_energy(max_energy)
         QMessageBox.information(
             self, 'Test information', 'Enough energy?\n- {}'.format(
                 'yes' if is_enough_energy else 'no'), QMessageBox.Ok)
Ejemplo n.º 4
0
 def do_campaign_process(self):
     game_module.focus_raid()
     if self.campaign_is_cycled_checkbox.isChecked():
         max_energy = int(self.campaign_max_energy_textbox.text())
         index = 0
         while not self.is_canceled:
             try:
                 can_continue = game_module.is_enough_energy(max_energy)
                 print('enough of energy: {}'.format(
                     'yes' if can_continue else 'no'))
                 if can_continue:
                     need_update_heroes = game_module.is_need_change_heroes(
                     )
                     print('need update heroes: {}'.format(
                         'yes' if need_update_heroes else 'no'))
                     if need_update_heroes:
                         game_module.click_change()
                         # может выполниться миссия или испытание, которое помешает работе
                         sleep(6)
                         game_module.scroll_to_end_of_collection()
                         game_module.update_heroes()
                         sleep(2)
                         game_module.click_start_button()
                     else:
                         game_module.click_repeat()
                     self.parent().status_bar.showMessage(
                         'Номер боя: {}'.format(index + 1))
                     index = index + 1
                     sleep(2)
                     game_module.wait_fighting()
                     sleep(2)
                 else:
                     self.parent().status_bar.showMessage(
                         'Ожидание энергии')
                     # проверяем энергию раз в минуту, если накопилось 10 и более запускаем бой
                     sleep(60)
             except Exception as e:
                 self.parent().status_bar.showMessage(str(e))
                 continue
     else:
         for index in range(0, self.repeats):
             self.parent().status_bar.showMessage(
                 'Номер боя: {}'.format(index + 1))
             game_module.click_repeat()
             sleep(2)
             game_module.wait_fighting()
             if self.is_canceled:
                 break
         self.parent().status_bar.showMessage('Все бои завершены!')
         self.start_repeat_btn.setDisabled(False)
Ejemplo n.º 5
0
 def on_click_blind_start_repeat_btn(self):
     self.repeats = int(self.blind_count_repeat_textbox.text())
     game_module.focus_raid()
     sleep(0.5)
     self.blind_start_repeat_btn.setDisabled(True)
     self.blind_repeat_worker.start()