env.py 922 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  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, 0), (0, 1), (0, -1)]
  10. self.obs = self.obs_map()
  11. def obs_map(self):
  12. """
  13. Initialize obstacles' positions
  14. :return: map of obstacles
  15. """
  16. x = self.x_range
  17. y = self.y_range
  18. obs = set()
  19. for i in range(x):
  20. obs.add((i, 0))
  21. for i in range(x):
  22. obs.add((i, y - 1))
  23. for i in range(y):
  24. obs.add((0, i))
  25. for i in range(y):
  26. obs.add((x - 1, i))
  27. for i in range(10, 21):
  28. obs.add((i, 15))
  29. for i in range(15):
  30. obs.add((20, i))
  31. for i in range(15, 30):
  32. obs.add((30, i))
  33. for i in range(16):
  34. obs.add((40, i))
  35. return obs