env.py 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. """
  2. Env 2D
  3. @author: huiming zhou
  4. """
  5. class Env:
  6. def __init__(self):
  7. self.x_range = 51 # size of background
  8. self.y_range = 31
  9. self.motions = [(-1, 0), (-1, 1), (0, 1), (1, 1),
  10. (1, 0), (1, -1), (0, -1), (-1, -1)]
  11. self.obs = self.obs_map()
  12. def obs_map(self):
  13. """
  14. Initialize obstacles' positions
  15. :return: map of obstacles
  16. """
  17. x = self.x_range
  18. y = self.y_range
  19. obs = set()
  20. for i in range(x):
  21. obs.add((i, 0))
  22. for i in range(x):
  23. obs.add((i, y - 1))
  24. for i in range(y):
  25. obs.add((0, i))
  26. for i in range(y):
  27. obs.add((x - 1, i))
  28. for i in range(10, 21):
  29. obs.add((i, 15))
  30. for i in range(15):
  31. obs.add((20, i))
  32. for i in range(15, 30):
  33. obs.add((30, i))
  34. # for i in range(15, 25):
  35. # obs.add((30, i))
  36. for i in range(16):
  37. obs.add((40, i))
  38. return obs