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
示例#5
0
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])
示例#8
0
        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)
示例#10
0
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')