def battleAction(battle_flag, retreat_flag): retreat_flag = 0 if (battle_flag < 5): keyboard_action.mouse_click([115, 115, 990, 990], 2, 0) battle_flag += 1 else: None return battle_flag, retreat_flag
def imhotepvrBotActions(): initPos = [954, 954, 623, 623] patientPos = [928, 928, 482, 482] layerPos = [670, 670, 1003, 1003] liverMeshPos = [714, 714, 274, 274] XPos = [1244, 1244, 999, 999] time.sleep(6) keyboard_action.mouse_click(initPos) return
def commandInit(appName, associate_flag, RUNNING_TIME, BIND_CPU, HUMAN_RUN, MultipleMode): keyboard_action.mouse_click(terminalFocus) time.sleep(1) key_board = PyKeyboard() key_board.type_string('cd $CGR_BENCHMARK_PATH/') key_board.tap_key(key_board.enter_key) key_board.type_string('./collectData.sh'+' '+str(appName)+' '+str(associate_flag)+' '+str(RUNNING_TIME)+' '+str(BIND_CPU)+' '+str(HUMAN_RUN)+' '+str(MultipleMode)+' &') key_board.tap_key(key_board.enter_key) RUNNING_TIME -= 30 time.sleep(10) return
def zeroADBotActions(): keyboard_action.mouse_click(OK_position) time.sleep(1) keyboard_action.mouse_click(single_player_position) time.sleep(1) keyboard_action.mouse_click(load_game_position) time.sleep(1) keyboard_action.mouse_click(load_position) time.sleep(3) return
def imhotepvrBotActions(): initPos = [954, 954, 623, 623] patientPos = [928, 928, 482, 482] layerPos = [670, 670, 1003, 1003] liverMeshPos = [714, 714, 274, 274] XPos = [1244, 1244, 999, 999] time.sleep(6) keyboard_action.mouse_click(initPos) time.sleep(12) keyboard_action.mouse_click(patientPos) time.sleep(4) for i in range(10): keyboard.press('up') time.sleep(0.2) keyboard.release('up') keyboard_action.mouse_click(layerPos) time.sleep(1) keyboard_action.mouse_click(liverMeshPos) time.sleep(1) pyautogui.dragRel(-100, 0, duration=1) time.sleep(2) keyboard_action.mouse_click(XPos) time.sleep(1) return
def retreatAction(battle_flag, retreat_flag): battle_flag = 0 if (retreat_flag < 5): keyboard_action.moveTo(40, 1044, duration=2) keyboard_action.mouse_click([40, 40, 1044, 1044], 2, 0) retreat_flag += 1 elif (retreat_flag == 5): retreat_flag += 1 keyboard_action.moveTo(startPos[0], startPos[-1], duration=2) keyboard_action.mouse_click(startPos) for i in range(25): keyboard.press('up') keyboard.press('right') time.sleep(0.1) keyboard.release('up') keyboard.release('right') time.sleep(0.1) for i in range(12): keyboard.press('down') keyboard.press('left') time.sleep(0.1) keyboard.release('down') keyboard.release('left') time.sleep(0.1) else: keyboard_action.moveTo(player2Pos[0], player2Pos[-1], duration=2) keyboard_action.mouse_click(player2Pos) time.sleep(1) keyboard_action.moveTo(commonPos[0], commonPos[-1], duration=2) keyboard_action.mouse_double_click(commonPos) time.sleep(3) keyboard_action.moveTo(player3Pos[0], player3Pos[-1], duration=2) keyboard_action.mouse_click(player3Pos) time.sleep(1) keyboard_action.moveTo(commonPos[0], commonPos[-1], duration=2) keyboard_action.mouse_double_click(commonPos) time.sleep(3) keyboard_action.moveTo(player4Pos[0], player4Pos[-1], duration=2) keyboard_action.mouse_click(player4Pos) time.sleep(1) keyboard_action.moveTo(commonPos[0], commonPos[-1], duration=2) keyboard_action.mouse_double_click(commonPos) time.sleep(3) keyboard_action.moveTo(player5Pos[0], player5Pos[-1], duration=2) keyboard_action.mouse_click(player5Pos) time.sleep(1) keyboard_action.moveTo(commonPos[0], commonPos[-1], duration=2) keyboard_action.mouse_double_click(commonPos) time.sleep(3) keyboard_action.moveTo(player1Pos[0], player1Pos[-1], duration=2) keyboard_action.mouse_click(player1Pos) time.sleep(1) keyboard_action.moveTo(commonPos[0], commonPos[-1], duration=2) keyboard_action.mouse_double_click(commonPos) return battle_flag, retreat_flag
def dotaBotActions(): time.sleep(2) keyboard_action.mouse_click([1686, 1686, 1050, 1050]) time.sleep(2) keyboard_action.mouse_click([1686, 1686, 1050, 1050]) time.sleep(8) # choose hero luna keyboard_action.mouse_click([823, 823, 431, 431]) time.sleep(4) keyboard_action.mouse_click([1481, 1481, 815, 815]) time.sleep(8) # skip ahead keyboard_action.mouse_click([158, 158, 812, 812]) time.sleep(6) # click start position keyboard_action.mouse_click([38, 38, 1055, 1055]) keyboard_action.mouse_click([38, 38, 1055, 1055]) for i in range(25): keyboard.press('up') keyboard.press('right') time.sleep(0.2) keyboard.release('up') keyboard.release('right') time.sleep(0.1) for i in range(12): keyboard.press('down') keyboard.press('left') time.sleep(0.2) keyboard.release('down') keyboard.release('left') time.sleep(0.1) keyboard_action.mouse_double_click([678, 678, 1015, 1015])
with tf.Session() as lstmSession: lstmSession.run(lstmInit) if os.path.isfile(lstmLogPath + "checkpoint"): lstmSaver.restore(lstmSession, lstmLogPath + "lstm-model") with tf.Session(graph=cnnDetection_graph) as cnnSession: start_time = time.time() cur_time = time.time() last_cur_time = cur_time while ((cur_time - start_time <= RUNNING_TIME) and (HUMAN_RUN == 0)): count += 1 print(count) if (count >= 100): keyboard_action.rescue() keyboard_action.mouse_click(supertuxkart_restart) count = 0 gamescreen = cv2.cvtColor(np.array(sct.grab(pic_region)), cv2.COLOR_BGR2RGB) cv_start = time.time() obj_classes, obj_positions, image_show = cnnDetector.detect_objects( gamescreen, cnnDetection_graph, cnnSession) lstmInputVec, lstm_outImag = produceLSTMInput( gamescreen, lstmInputVec) cv_end = time.time() if (lstm_based_Bots == 1): lstm_start = time.time() lstmRealInput = np.reshape(lstmInputVec, [-1, n_input, tensor_size])
int((pos_hero[0] + pos_hero[1]) / 2), int((pos_hero[0] + pos_hero[1]) / 2) ] life_value = 0 for x in x_dim: if gamescreen[1045, x, 1] > 100: life_value += 1 if (last_life_value - life_value > 20 or life_value <= 250): training_data.append([ position_vec + [last_life_value, life_value], [0, 0, 1] ]) battle_flag = 0 if (retreat_flag < 5): keyboard_action.mouse_click([40, 40, 1044, 1044], 2, 0) retreat_flag += 1 elif (retreat_flag == 5): retreat_flag += 1 keyboard_action.mouse_click(startPos) for i in range(25): keyboard.press('up') keyboard.press('right') time.sleep(0.1) keyboard.release('up') keyboard.release('right') time.sleep(0.1) for i in range(12): keyboard.press('down') keyboard.press('left') time.sleep(0.1)
HUMAN_RUN = 0 Reso_Width = 1960 Reso_Hight = 1080 if (len(sys.argv) > 1): associate_flag = int(sys.argv[1]) RUNNING_TIME = int(sys.argv[2]) AI_BOTS_DIR = sys.argv[3] RESULT_DIR = sys.argv[4] BIND_CPU = int(sys.argv[5]) HUMAN_RUN = int(sys.argv[6]) Reso_Width = int(sys.argv[7]) Reso_Hight = int(sys.argv[8]) MultipleMode = int(sys.argv[9]) #terminalFocus=[200,200,200,200] terminalFocus = [980, 980, 540, 540] keyboard_action.mouse_click(terminalFocus) time.sleep(1) key_board = PyKeyboard() key_board.type_string('cd $CGR_BENCHMARK_PATH/') key_board.tap_key(key_board.enter_key) key_board.type_string('./collectData.sh supertuxkart-1 ' + str(associate_flag) + ' ' + str(RUNNING_TIME) + ' ' + str(BIND_CPU) + ' ' + str(HUMAN_RUN) + ' ' + str(MultipleMode) + ' &') key_board.tap_key(key_board.enter_key) time.sleep(5) key_board.tap_key(key_board.enter_key) time.sleep(3) RUNNING_TIME -= 30 #frequently modified parameters
lstmSaver.restore(lstmSession,lstmLogPath+"lstm-model") with tf.Session(graph=cnnDetection_graph) as cnnSession: start_time = time.time() cur_time = time.time() last_cur_time = cur_time while (HUMAN_RUN == 0) and (cur_time - start_time <= RUNNING_TIME): lstm_start = 0 lstm_end = 0 gamescreen = cv2.cvtColor(np.array(sct.grab(pic_region)), cv2.COLOR_BGR2RGB) cv_start = time.time() obj_classes, obj_positions, image_show = cnnDetector.detect_objects(gamescreen, cnnDetection_graph, cnnSession) cv_end = time.time() obj_set = set(obj_classes) if 1 in obj_set and push_flag == 0: keyboard_action.mouse_click(initPos) if 2 in obj_set and push_flag == 0: keyboard_action.mouse_click(patientPos) time.sleep(1) keyboard_action.mouse_click(patientPos) push_flag = 1 if push_flag == 1: if 3 in obj_set: push_flag = 2 else: keyboard.press('up') time.sleep(0.1) keyboard.release('up') if push_flag == 2: if lstm_based_Bots == 1: lstmInputVec = [last_flag_count, flag_count]
Reso_Width = 1920 Reso_Hight = 1080 MultipleMode = 1 if (len(sys.argv) > 1): associate_flag = int(sys.argv[1]) RUNNING_TIME = int(sys.argv[2]) AI_BOTS_DIR = sys.argv[3] RESULT_DIR = sys.argv[4] BIND_CPU = int(sys.argv[5]) HUMAN_RUN = int(sys.argv[6]) Reso_Width = int(sys.argv[7]) Reso_Hight = int(sys.argv[8]) MultipleMode = int(sys.argv[9]) terminalFocus = [200, 200, 200, 200] supertuxkart_restart = [985, 985, 1030, 1030] keyboard_action.mouse_click(terminalFocus) time.sleep(1) key_board = PyKeyboard() key_board.type_string('cd $CGR_BENCHMARK_PATH/') key_board.tap_key(key_board.enter_key) key_board.type_string('./collectData.sh supertuxkart ' + str(associate_flag) + ' ' + str(RUNNING_TIME) + ' ' + str(BIND_CPU) + ' ' + str(HUMAN_RUN) + ' ' + str(MultipleMode) + ' &') key_board.tap_key(key_board.enter_key) time.sleep(5) RUNNING_TIME -= 30 FILE_NAME = RESULT_DIR + '/cv_action_time.csv' output_file = open(FILE_NAME, "w") columnTitleRow = "DATE TIME CV_TIME ACTION_TIME\n"
start_time = time.time() cur_time = time.time() last_cur_time = cur_time while ((cur_time - start_time <= RUNNING_TIME) and (HUMAN_RUN == 0)): lstm_start = 0 lstm_end = 0 gamescreen = cv2.cvtColor(np.array(sct.grab(pic_region)), cv2.COLOR_BGR2RGB) cv_start = time.time() obj_classes, obj_positions, image_show = cnnDetector.detect_objects( gamescreen, cnnDetection_graph, cnnSession) cv_end = time.time() obj_set = set(obj_classes) if 16 in obj_set or 17 in obj_set: keyboard_action.mouse_click(yes_position) time.sleep(1) keyboard_action.mouse_click(continue_position) time.sleep(1) continue obj_index = 0 lstm_input = [0, station_index] if stage_run == 0: if lstm_based_Bots == 1: if 10 in obj_set: #deer keyboard_action.tap_key('4') deer_index = obj_classes.index(10) lstm_input = [1, station_index] obj_index = deer_index if 11 in obj_set: #tree keyboard_action.tap_key('2')