Пример #1
0
                # ensures agent does not get stuck for prolonged periods
                if len(history) == 5:
                    if history[0][0] == history[4][0] and history[0][
                            1] == history[4][1]:
                        hfo.act(REORIENT)
                        history = []
                        continue

                hfo.act(MOVE)
            else:
                state, valid_teammates = state_representer.get_representation(
                    features, args.numTeammates)
                print("Valid Teammates: ", valid_teammates)
                if 0 in valid_teammates:
                    q_learner.set_invalid(state, valid_teammates)

                if action is not None:
                    reward = get_reward(status)
                    reward_printer(state, action, reward)
                    q_learner.update(state, action, reward)

                action = q_learner.get_action(state, valid_teammates)

                if action == 0:
                    print("Action Taken: DRIBBLE \n")
                    hfo.act(DRIBBLE)
                elif action == 1:
                    print("Action Taken: SHOOT \n")
                    hfo.act(SHOOT)
                elif args.numTeammates > 0: