Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def getReward(self, action):
- reward = 0
- # Para castigar por el numero de enemigos
- reward -= self.ENEMIES_NORM*len(self.enemies)
- # Para casticar con el paso del tiempo
- reward -= self.getCurrentTimeNormalized()
- # Para castigar/ premiar si la chica está cerca/lejos a una bomba
- for bomb in self.bombs:
- distance = self.getDistanceNormalized(bomb, self.girl)
- if distance < self.MAX_DISTANCE:
- reward -= distance
- else:
- reward += distance
- if(action == 4):
- # Para premiar que esté colocando una bomba
- reward += self.REWARD_BOMB
- for enemy in self.enemies:
- # Para premiar que la bomba está más cerca a un enemigo
- distance = self.getDistanceNormalized(enemy, self.girl)
- if distance< self.MAX_DISTANCE:
- reward += self.REWARD_BOMB/distance
- if(action < 4):
- # Para premiar que se mueve
- reward += self.MOVEMENT_RW
- # Para premiar que esté más cerca a un bonus
- for bonus in self.bonus:
- reward += self.BONUS_RW / self.getDistanceNormalized(bonus, self.girl)
- # Para premiar que está jugando
- if(self.girl_alive):
- reward += self.ALIVE_RW
- # Para castigar que ha perdido
- if self.lose:
- reward -= self.REWARD_LOSE
- # Para premiar que ha ganado
- if self.victory:
- reward += self.REWARD_VICTORY
- return reward
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement