# Path: utils/phis.py
# def CartPole0phi1(obs, done=False):
# def CartPole0phi2(obs, done=False):
# def MountainCar0phi(obs, done=False):
# def Acrobot1phi(obs, done=False):
# def getPhiConfig(env_name, debug=False):


import json, os
import tensorflow as tf
from gym.spaces import Discrete, Box
from utils import phis
        score = 0
        done = False
        while True:
            if render:
                env.render()

            act, state = self.act(obs)
            next_obs, reward, done, info = env.step(act)

            score += reward
            obs = next_obs
            if done:
                break

        self.play_counter += 1
        pscore_sum = self.sess.run(self.pscore_sum_t, feed_dict={
            self.pscore_plh: score,
        })
        self.sw.add_summary(pscore_sum, self.play_counter)

        return score

class TabularBasicAgent(BasicAgent):
    """
    Agent implementing tabular Q-learning.
    """
    def __init__(self, config, env):
        if 'debug' in config:
            config.update(phis.getPhiConfig(config['env_name'], config['debug']))
        else:

# Path: utils/phis.py
# def CartPole0phi1(obs, done=False):
# def CartPole0phi2(obs, done=False):
# def MountainCar0phi(obs, done=False):
# def Acrobot1phi(obs, done=False):
# def getPhiConfig(env_name, debug=False):


# Path: agents/basic_agent.py
import json, os
import tensorflow as tf
from gym.spaces import Discrete, Box
from utils import phis

        score = 0
        done = False
        while True:
            if render:
                env.render()

            act, state = self.act(obs)
            next_obs, reward, done, info = env.step(act)

            score += reward
            obs = next_obs
            if done:
                break

        self.play_counter += 1
        pscore_sum = self.sess.run(self.pscore_sum_t, feed_dict={
            self.pscore_plh: score,
        })
        self.sw.add_summary(pscore_sum, self.play_counter)

        return score

class TabularBasicAgent(BasicAgent):
    """
    Agent implementing tabular Q-learning.
    """
    def __init__(self, config, env):
        if 'debug' in config:
            config.update(phis.getPhiConfig(config['env_name'], config['debug']))
        else:

            config.update(phis.getPhiConfig(config['env_name']))