def __init__(self, cfg):
        # Replay memory
        self.memory = ReplayBuffer(**cfg['agent']['memory'])

        # Environment configuration

        self.action_shape = cfg['env']['action_shape']

        # Algorithm parameters
        self.exploration_mu, self.exploration_theta, self.exploration_sigma = cfg['agent']['noise']
        self.noise = OUNoise(self.action_shape, self.exploration_mu, self.exploration_theta, self.exploration_sigma)

        self.gamma = cfg['agent']['gamma']
        self.tau = cfg['agent']['tau']

        state_flatten_shape = [np.prod(self.memory.flatten_state_shape)]
        # Actor Model
        self.actor = Actor(state_flatten_shape, self.action_shape, cfg['env']['action_range'],
                           self.tau, self.memory.batch_size, cfg['actor'])

        # Critic Model
        self.critic = Critic(state_flatten_shape, self.action_shape, self.tau, cfg['critic'])

        # Flag & Counter
        self.add_noise = True
        self.episode = 0
        self.max_episode_explore = 100
Esempio n. 2
0
    def player(self, x, y):
        sprites = self.sprites
        alive = True
        pc = creatures.Creature('Bert', 40)
        container = containers.Container()
        player = Actor(x, y, sprites.width, sprites.height, sprites.S_PLAYER,
                       'Human', self.log, alive, pc, None, container)

        return player
Esempio n. 3
0
 def debugItem(self, x, y):
     sprites = self.sprites
     alive = False
     creature = None
     ai = None
     item = items.Item(self.level, identified=True)
     container = None
     debugItem = Actor(x, y, sprites.width, sprites.height,
                       sprites.S_DBG_ITEM, 'Debug_Item', self.log, alive,
                       creature, ai, container, item)
     return debugItem
Esempio n. 4
0
    def beano(self, x, y):
        sprites = self.sprites
        on_death = deaths.drop_corpse()
        alive = True

        creature = creatures.Creature('Beano', 15, on_death)
        ai = ais.basic_chase(4)
        container = None
        item = items.Item(self.level)

        beano = Actor(x, y, sprites.width, sprites.height, sprites.S2_BEANO,
                      'Bean', self.log, alive, creature, ai, container, item)
        return beano
Esempio n. 5
0
    def blode(self, x, y):
        sprites = self.sprites
        on_death = deaths.drop_corpse()
        alive = True

        creature = creatures.Creature('Blode', 5, on_death)
        ai = ais.Ai_Test()
        container = None
        item = items.Item(self.level)

        blode = Actor(x, y, sprites.width, sprites.height, sprites.S2_BLODE,
                      'Slime', self.log, alive, creature, ai, container, item)
        return blode
Esempio n. 6
0
    def heal_potion(self, x, y):
        on_use = heal
        sprites = self.sprites
        alive = False
        creature = None
        ai = None
        item = items.Item(self.level, 0, 0, 1, on_use)
        container = None

        heal_potion = Actor(x, y, sprites.width, sprites.height,
                            sprites.S_HEAL_POTION, 'Potion of Minor Healing',
                            self.log, alive, creature, ai, container, item)
        return heal_potion
Esempio n. 7
0
def initialize():

    camera.position = Vector3(0.0, 0.0, 5.0)

    board = Board(30, 25)

    cursor = Actor()
    cursor.set_position(3, 3)
    cursor.set_size(1.25)
    world.update_layer(cursor, 5)
    cursor.set_sprite("Resources/Images/cursor.png")

    soldier = Actor()
    soldier.load_sprite_frames("Resources/Images/soldierA")
    soldier.set_size(1.0, 1.0)
    soldier.set_position(3.0, 3.0)
    soldier.play_sprite_animation(1.0, 0, 1)
    world.add(soldier)

    count = Actor()
    count.set_position(3.0, 3.0)
    count.set_sprite("Resources/Images/10.png")
    world.add(count)
Esempio n. 8
0
    def __init__(self, height, width):

        tile_names = [
            "Resources/images/roadA.png", "Resources/images/treesA.png",
            "Resources/images/grassA.png"
        ]

        self.height = height
        self.width = width
        tiles = [0] * self.width
        for i in range(0, self.width):
            tiles[i] = [0] * self.height
            for j in range(0, self.height):
                tiles[i][j] = open_image(tile_names[randint(0, 2)])
        board_texture = merge_images(tiles)
        board_actor = Actor()
        board_actor.set_sprite(board_texture)
Esempio n. 9
0
 def add_members(self, gender='male', num=1):
     """
     Add members into family
     :param gender: male/female. if num > 1 then randomize
     :param num: default 1.
     :return: list of node ids added, new node id
     """
     node_ct = self.node_ct
     added_nodes = []
     for x in range(num):
         if num > 1:
             gender = random.choice(['male', 'female'])
         # select a name that is not taken
         name = names.get_first_name(gender=gender)
         while name in self.taken_names:
             name = names.get_first_name(gender=gender)
         self.taken_names.add(name)
         node = Actor(
             name=name, gender=gender, node_id=node_ct)
         added_nodes.append(node)
         self.family.add_node(node_ct, data=node)
         node_ct += 1
     self.node_ct = node_ct
     return added_nodes
Esempio n. 10
0
 def __init__(self, x, y, sprite):
     self.actor = Actor()
     self.actor.set_position(x, y)
     self.actor.set_sprite(sprite)
     world.add(self.actor)