Advertisement
Guest User

Untitled

a guest
Jun 21st, 2018
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.59 KB | None | 0 0
  1. def getReward(self, action):
  2. reward = 0
  3. # Para castigar por el numero de enemigos
  4. reward -= self.ENEMIES_NORM*len(self.enemies)
  5. # Para casticar con el paso del tiempo
  6. reward -= self.getCurrentTimeNormalized()
  7.  
  8. # Para castigar/ premiar si la chica está cerca/lejos a una bomba
  9. for bomb in self.bombs:
  10. distance = self.getDistanceNormalized(bomb, self.girl)
  11. if distance < self.MAX_DISTANCE:
  12. reward -= distance
  13. else:
  14. reward += distance
  15.  
  16. if(action == 4):
  17. # Para premiar que esté colocando una bomba
  18. reward += self.REWARD_BOMB
  19. for enemy in self.enemies:
  20. # Para premiar que la bomba está más cerca a un enemigo
  21. distance = self.getDistanceNormalized(enemy, self.girl)
  22. if distance< self.MAX_DISTANCE:
  23. reward += self.REWARD_BOMB/distance
  24.  
  25. if(action < 4):
  26. # Para premiar que se mueve
  27. reward += self.MOVEMENT_RW
  28. # Para premiar que esté más cerca a un bonus
  29. for bonus in self.bonus:
  30. reward += self.BONUS_RW / self.getDistanceNormalized(bonus, self.girl)
  31.  
  32. # Para premiar que está jugando
  33. if(self.girl_alive):
  34. reward += self.ALIVE_RW
  35.  
  36. # Para castigar que ha perdido
  37. if self.lose:
  38. reward -= self.REWARD_LOSE
  39.  
  40. # Para premiar que ha ganado
  41. if self.victory:
  42. reward += self.REWARD_VICTORY
  43.  
  44. return reward
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement