pabenito / Obstacle-Map

This project creates a random obstacle map (matrix) where an obstacle is generated with a 100% of probability if it has at least another wall around it, but less or equal than MAX_AROUND_WALLS obstacles surrounding it: (0 < obstacles around <= MAX_AROUND_WALLS). To count the number of walls around, it is used the 8-neighbour model. However, if the previous condition is not followed, the probability of generating that wall, which decreases exponentially, changes dynamically with the obstacles already placed. A lot of different types of maps can be generated in a O(rows * cols) time guaranteed.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Obstacle-Map

---DESCRIPTION---

This project creates a random obstacle map (matrix) where an obstacle is generated with a 100% of probability if it has at least another wall around it, but less or equal than MAX_AROUND_WALLS obstacles surrounding it: (0 < obstacles around <= MAX_AROUND_WALLS). To count the number of walls around, it is used the 8-neighbour model. However, if the previous condition is not followed, the probability of generating that wall, which decreases exponentially, changes dynamically with the obstacles already placed. A lot of different types of maps can be generated in a O(rows * cols) time guaranteed.

Features:

  • Fast map generation.
  • Seeds are used to create in every execution always the same maps (under the same parameters).
  • The map is considered cyclic when trying to create a new obstacle in a cell so that it does not lose coherence in borders.
  • A starting and ending point can be set (customized or random).
  • High customized maps can be created with only 3 parameters, which can be saved as templates.
  • There are default templates to create similar maps. For instance, ALIEN_INVASION, BIG_WORLD, HARD_MODE, MAZE or STICK_ROOM.

---EXAMPLES---

There are some examples:

  • Wall = '█'
  • Path = '░'
Template: Alien Invasion
Obstacle map: Seed = 611467837; rows = 40; cols = 110; walls = 880; walls/cells: 20%. Constants: MAX_AROUND_WALLS: 5; PO_POINT: 7%.

█░░░░█░█░░░░░░░░░░░░░░░░░░░░████░░░░░░░░░█░░█░█░░░░░░░███░░█░░░░░░░░░░░░░░░░░░░░░░░█░█░█░░░░░░░░█░░░░░░░░░░░░░
░░░░░░░███░░░░░░░░░░█░░░░░░░░░██░░░░░░░░░░██░░░░░░░█░░░░█░░░░░░░░█░░░░░░░░░░█░░█░░░██████░░░█░░░█░░░░█░░░░░░░█
█░░░█░░░░░░░░░░░░░░░███░░░░░░░░░░░░░░░░░░░░░██░███░███░░░█░░░░░░░░█░░░░░░░░░░██░█░░░░░░█░░░█░░░░░░░█░█░░░░██░█
░░░█░░░░░░░░░░░░░░███░█░░░░░░░░░░░░░░░░░░░░░░░█░█░█░░░░░██░░░░░░░██░░█░░░░░░░██░█░░░░░░░░███░░░░░░░██░░░░░███░
█░░░█░░░░░░░░░░░░░░██░░░░░█░█░░░░░░░░░░░░░░░░░░░░███░░░░█░█░░█░░░█░░█░░░░░░░█░░░░░░░░░░░░█░██░░░░░░█░░░░░░░█░█
░░░░░░░░░░░░░░░░░░██░█░░░░░█░░░░░░░░░░░░░░░░░░░░█░░░░░░░░░█░░██░░████░░░░░░░░█░█░░░██░░░░░░░█░░░░░░░█░░█░░░░█░
░░░░░░░░░░░░░░░░░█░░░░░░░░███░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░██░█░█░░░░░░░░████░█░░█░░░█████░██░░░░░░█░░█░█░░░░░
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█████░░░░░░░░░░░█░░░░░░░░░░░█░░███░░░░░░░░░█████░░░░
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█░█░░░░░░░░░░░░░░░░██░░░██░░░░░░░░░░░░░░░░███░░░░░██░██████░░░░░██░░░░░░
█░░█░░███░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█░░░░░░░░░███░░░░░░░█░░█░░░░█░█░░░░░░░░░░█░█░░█░░░██░░░█░█░░░░░░░█░░░░░
███░░░█░█░░░░░░██░░░░░░░░░░░░░░░░░█░░░███░░░░░░░██░█░░░░░░░░░░░░░░░░░███░░░░░░░░░░█░░░░░█░░██░░░░░░░░░░░░░░░░░
░█░░░░░░░░░░░░░░░█░░░░░░░░░░░░░░░░░██░░█░░░░░░░░█░░░░░░░░░░░░░░░░░░░░████░░░░░░░░░░░░░░██░░░█░░░░░░░░░░░░░░█░░
░░█░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░██░░░░░░░░██░░░░░░░░░░░░░░░░░░█░░██░██░░░███░███░░░░░█░░░░█░░░░█░░░░░░░██░░
░░░░█░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░███░░░░░░░░░█░█░░░██░░░░░░█░░░░█░░█░░░░░█░██░░░░░░░░░█░░░██░█░░░
░░░░█░░░░░░░░░░░░░░░░░█░░░░░░░░░░░░░░░░░░░░░░░█░░░░░░██░░░██░░░░░█░░░░░░░█░░░░░░░█░░█████░░░░░░░█░░░░░█░░░░░░░
░░░░██░░░░░░░░░░░░░░░░██░░░░░░░░░░░░░░░░░░░░░█░█░░░░███░░░░░░░░░░░░░░░░░░░░░░░░░░█░░░░█░░░░█░░███░░░█░█░█░░██░
░░░░░░░░░░░░░░░░██░░░█░░░░░░░░░░░░░░█░░░░░░░░░░░░░░░░░█░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░████░░░█░░░░░█░█░░░█░░
░░░░░░░░░░░░█░░███░░█░░░░░░░░░░░░░░░█░█░░░░█░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█░░████░░░░░░░░███░███░░░░██░
░░░░░░░░░░░░████░███░░░░░░░░░░░░░░░█░░█░░░░██░░░░░░░░░░░░░░█░░░░░░░░░░░░░░░░░░█░█░░░░░███░░░░░░░█░░░██░░░░░█░░
░░░░░░░░░░░░░░░░░░████░░░░░░░░░░░░░██░███░░░░░░█░█░░░░░░░░██░░░░░░░░░░░░░░░░░░███░░░░░░░█░█░░░░░█░░░░░███░░░█░
░░░░░█░░░░░█░░█░░░░█░░░░░░░░███░░░░█░█░░█░░░░░░██░░░░█░█░░░░░░░░░░░░░░░░░░░░░███░░░░░░░░░░░█░░░░███░░░█░█░░░░░
░░░░░██░░░██░░█░░░░░░░░░░█░░░██░░░░░░░░░░░░░░░██░░░░░░█░░░░░░░░░█░░░░░░░░░░░░░█░░░░░░░░░░████░░█░█░░░███░░░░░░
░░░░░░░░░░░█░░██░░░░░░░░░░█░░██░░░░░░░░░░░░░░░░░█░░░░░█░░░░░░░░░░░░░░░░░░░░░░░██░░░░░░░░███░░░░░░██░░░░░░░░░█░
░░░░░░░█░░░░░░░█░░░░░░░░░░░██░██░░░░░░░░░░░░░░█░█░░░░░░░░░█░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█░█░░█░░░░░░░░░░░░░░█░
░░░░░░░░██░░░░░░░░░░░██░░░░░░░░░░░░░░░░░░░░█████░█░░░░░░░░█░░░░░█░░░░░░░░░░░░░░░░█░██░░░█░░░░██░░░█░░██░█░░░█░
░░░░░░░░█░░░░░░░░░░░░█░░░░█░░░░░░░█░░░░░░░░░░█░░░░░░█░░░░░░█░░░░█░░░░░░░░░░░░░░░██░░█░░░░░░░███░░██░░░░██░░░░░
░░░░░░░░░░░░░░░░░░░░░░░░███░░░░░░██░░░░░░░░░░░░░░░░░█░░░█░░░░░█░█░░░░░░░██░░░░░░░░███░░░░░░░░█░░█████░█░░█░█░░
█░░░░░░░░░░░░░░░░░█░░█░░░░█░░░░░░██░░░░░░░░░░░░░░░░░█░░██░░░░█░░░░░░░░░░███░░░░░░░██░░░░░░█░█░█░░█░░░░░░░░░░█░
░█░░░░░░░░░░░░░░░░░█████░░░░░░█░░░░░░░░░░░░░░░░░░░░░░█░░░░░░░░█░░█░░░░███░█░░░░░░█░░█░░░░░█░█░░░░█░░░░░█░░░░██
░░░██░░░░░░░░░░░░░█░░██░░░░░░█░░░░░░░░░░░░░░░░░░░░░░░██░░░░░░███░█░░░░██░█░░░░░░█░█░░░░░░█░██░░░░░░░░░██░░░█░░
████░█░░░░░██░░░░░░░░░█░░░░░█░█░░░░░███░░░░░█░░░░░░░██░░░░░░█░█░█░░░░░█░░░█░░░░░░░░░░█░░██░░░░░░░░░░░░░░░░░░░█
█░░░██░░░██░██░░░░░░░░█░█░░░██░░░░░░██░█░░░░░█░░░░░█░░░░░░░░██░░░░░█░░░░░░█░█░░░█░░░█░█░█░██░███░░░░░█░░░░░░░█
█░░░░█░░░░░█░░█░█░░░░░█░░░░░██░░░░░░░░░░░░░░█░░░░░░░█░░░░░██░██░░░░░█░░░░░███░░█░██░░░░██████░░░░░░░░█░░░░░░░░
░██░██░░░░░░█░█░█░░░░░░░░░░██░░░░░░░░░░█░░░░██░░░░░█░░██░░░█░░█░░░░█░░░░░░█░░█░░█░░░░░░░░░█░█████░░░█░░░░░░░░░
█░░░█░░░░░█░░░░██░░░█░░░░░░░░░░░░░░░░█░░░░░████░░░░░███░░░░█░░██░░░███░░░░░██░░█░░░░░░░░███░█░░█░░░░█░░░░░░░░█
░░░█░░░░███░░░░█░░█████░░░░░░░░░█░███░░░██░░░█░░░░░█░█░░░░░░░░░░░░█░█░░░░░░░░█░█░░░░░░░░█░░░░░████████░░░░░█░░
░░░░░░░█░███░░░░░█░█░█░░░░░░░░░░░█░░░█░░█░░░░░░██░░░█░█░░░░██░█░░░░░░░░░░░░░░░░░█░░░░░████░░░░░░█░█░█░█░░░░░█░
░░░░░░░░░░░░█░░░░░░░░░█░░░░░░░░░██░░░░░░░█░█░░█░░░░░░█░░░░░███░░░░░░░░░░░░░░░░░░░░░░░░░░█░░░░░░██░░██░░██░░░█░
░░░░░░░░░░█░░░░░░░░░░░░██░░█░░█░░█░░░░░░░░░░███░███████░█░░░░█░░░░░░░░░░░░░░░░░░░░░░░░░░██░░██░█░░░░░█░█░█░░█░
░░░░░░█░░░░██░░░░░░░░░░░████░░████░░░░░░░░░░███████░░░░░██░█░░░░░░░░░░░░░░░░░░░░░░███░██░░░░░░█░░█░░░░░░░░░░░░



Template: Big World
Obstacle map: Seed = -847341416; rows = 40; cols = 110; walls = 1628; walls/cells: 37%. Constants: MAX_AROUND_WALLS: 7; PO_POINT: 1%.

████░█░███░███░░░░░░░░█░█░████████░█░░░░█░░░░░░░░░██░░░░███████░░░█░█░░░░░█░░█░██████░░█░░░░░█░░░░░░░░░░░░░░░░
███░██░░██░█░█░░░░░░░░░░░░░████░█░░░░░░█░░░░░░░░░░░░█░░█░░░░████░█░░█░██░░░█░░█░███░█░████░██░░░░░░░░░░░░░░░░█
█████░██░██░█░░░░░░░░░░░░██░██████░░█░█░░░░░░░░░░░░█░░░░░░█░░░██░███░██░░░░███░██░████░██░░░░░░█░░█░░░░░█░░░█░
░█░███░██████░░░░░░░░░░░░█░░█████░░░░█░░░░░░░█░░░░█░█░░░░░░██░████████░░░░░░█░█░███░████████░░░░██░░░░░█░░░░░░
░█░░░░█████░░░░░░░░░░░░░░░░░░░█░█░██████░░░████░░░████░░░░░░████████░██░░░░░█░███░░██░░██████░░░█░░░░░░██░░░░█
████░░███░███░░░░░░░░░░░████░██████░█░███░█░█░█░████░█░░░░░█░░░░░██████░██░░░████░░██░█░░░░░████░░░░░░░█░░███░
███████░████░░░░░░░░░░░░░░██░█░█░█████░░███░░░░███░█░█░░░░█░█░░░████████░█░░█████░░█░░░█░░░██████░░░░░░███░███
██░████████░░░░░░░░░░░░░░░█████░█████░█░███░░██████████░░░░██░░░░░███████░░░██░███░░░░████████░░░░░░░░░███░██░
█░███░██████░░░░░░░░░█░░░░░░███████░███░░██░█░███░██████░████░░░███░██░█░░░█░████░░░░░█░████░████░░░░██████░░█
░█░█░███░░░░░░░░░░░░█░░██░░░░░█░██░████████░░░█████░░█░███████░░█░█░█░░░░░░████░█░░░░░░░░█████░██░░░██████████
░██░█████░░░░░░░░░░░░████░░░░░░██░█░░█░░█░██████░██░░██░█░█░█░░░░██░░░░░░░░░██░░░░░░░░█░░████░█░░░████░█░█████
█░░░███░█░░░░░░░░░░██░░░█░░░░░░█░█░█░████████░████░███░░██░░█░░█░░█░░░░░░░░░░░█░░░░██░░███░░░░█░░░░░█░█░██░█░█
██░█████░░░█░░░░░░░░░░░█░░░░░░░█░░███░░░█░░░████░█░███░████░████░██░░░░░░░░░░░░░░░█████░██░█░░░░░░░█░░░█░░████
███░██░██░██░░░░░░░░░░░░█░░░░░░░░░█░█░░░░░░███████░░█░█████░░████░█░░░░░░░░░░░░░░░██░░██░░█░░░░░░░░░░░█░█░░░██
░░░████████░░░░░░░░░░░░░░░░░░░░░░█░░░█░░░░░█░█░█░░░░░░████████░█░░░░░░░░░░░░░░░░░░░██░░█░█░░░░░░░░░░░░░░░░░░██
░░░░░█░███░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░██░░██░░░████░█░████████░░░░░░░░░░█░░░░░░█████░░░░░░░░░░░░░░░░░░░█░
░░░░██████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█░░█████░██░███░░░░█░░██░░░░░░░█████░█░░░░░░░░░░░░░░░░░█░
░░░█░███░██░░░████░░█░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░████░██░░████░████░███░░░░░█░░░████░███░░░░░░░░░░░░░░░█░░
░░░░░████░█░░░████░░░█░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█░██░███░░░████░█░████░░░░█░░░░█░█░░█░█░░░░░░░░░░░░░░░░░░
░░░░█░███░░░█░░█░█████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█░█████░█░█████░█░░██░░░░███░░░██░██░░█░░░░░░░░░░░░░░░░░░░
░░░░░█░█████░██░████░░░░░░░░░░░░█░░░█░██░░░░░█░░░░░░░░░█░░████░░█████░░░███░░░█░░███░█░█░███░░░░░░░░░░░░░░░░░░
░░░░██░█░░░░██░░░███░░░░░░░░░░░░████░░█░░█░░█░█░░░░░░░█░█░███████░████████░█░█░░░░░█░█░█████░░░░░░░░░░░░░░░░░░
░░░░░░██░░░░░░░░█████░░░░░░░░░█░█░███░█░█████░░░░░░░░░░█░░█░█░█░█░██░█░████░██░░░░░░░░██░██░░░░░░░░░░░░░░░░░░░
░░░░░████░░░░░░░█░░█░░░░░░░░░█░░░███░██████░██░░░░░░░█░██░██░░█░██░░███████░█░░░░░░░░█░░█████░░░░░░░░░░░░░░░░░
░░░░░░██░░░░░░░░░░█░█░░░░░░░░░████████░█░███████░░░█░░████░░███████░█░░███░█░░░░░░░░░███░███░░░░░░░░░░░░░░░░░░
░░░░░░█░░░░░░░░░░░░░░░░░░░░░░░░░█████░██████████░░░░█████████░██░█░░█░██░░██░░░░░░░░░░░░░█░░░░░░░░░░░░░░░░░░░░
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█░█░██░░█░█████░░░░░░█░░░███░████░░███░█░░██░░░░█░░░░░░░░██░░░░░░░░░░░░░░░░░░░░
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█░██░███████░████░█░░░░█░░░░████░██░█░░░░░░░░░██░░█░░░░░░░░░░░░░░░░░░░░░░░░░░
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░████████░██████░███░██░░█░██░██████░░░█░█░░░███░██░░█░░░░░█░░░░░░░░░░░░░░░░░░░░
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░████████░░░░█░█░█░██░░░█░░░░░░███████░░█░░░░██░██░█████░░█░░░░░░░█░░░░░░░░░░░░░
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█░██░█░░░░████████░░░░█░░░█░█░██░██░░░░░░░██░░░█████░░█░░░░░░░█░░░░░░░░░░░░░░
░░░░░░░░░░░░░░░░░░░░░░░█░░░░░░░░███░███░░░█░██░███░█░░░░░░█░██░░░█░░░░░░░█░████████████░░░░░█████░░░░░░░░░░░░░
░░░░░░░░░█░░░░░░░░░░░░░█░░█░░░░███░██░░░░░░░██████░░░░░░░░░█░███░░░░░░█░░░████░████░░█░░░░░░░███░████░░░░░░░░░
░░░░░░░░░░█░░░░░░░░░░████░█░█░░░███░████░░░░████████░░░████░░░░░░░░░░░░███████░█░░░░░██░░░░██░██████░█░░░░░░░░
░░░░░██████████░░░░░░░██████░░░░░░█░███░░░░░█░██░██░█░░░░█░░░░░░░░░░░░████░████░░░░░█░░█░░░░███████░░░░░░░░░░░
░░░░░░░░░░█████░░░██░░░█████░░░░░░█████░░░░░░░░░█████░░░██░░█░░░░░░░░░░░░███░█░░░░░░░█░░░░░██░██░█░█░░░░░░░░░░
░░░░█░███████░░██░███░████░█░░█░█░█░███░░░░░░░░░░██░░░░░░█░██░░░░░█░░░░███░░█░░░░░█░█░██░░░░███░██░░░░░░░░░░░░
░░░░█░░█░██████░░░█░█████░██░███░░█░████░░░░░░░░░░░██░░░██████░███░░░░░░░███░░░░░░█████░█░░░░░█████░░░░░░░░░░░
░░░░░█░█░████░░░░░░░░░███░██░█████░░░█░███░░░░░░░░░█░░░░░░█░████░░░░░░░░░░░█░░██░░██░███░░░░█░███░░░░░░░░░░░░░
░░░░█░░░████░█░░░░░░░█░█░░█░█░█░█░░░██░█░█░░░░░░░░██░░░░░░█████░████░░░░░░█░██░█░░████░██░░░░█░░░░░░░░░░░░░░░░



Template: Hard Mode
Obstacle map: Seed = 2062533646; rows = 40; cols = 110; walls = 1452; walls/cells: 33%. Constants: MAX_AROUND_WALLS: 3; PO_POINT: 42%.

█░░░░█░█░███░░█░░░█░░░░░░░█░░█░█░░░█░░░░█░░░░░░███░░░░░░█░█░░░█░░░░█░█░████░░░░░░░█░█░░░░░█░░████░░░░█░░░██░░░
████░░█░░░░░░░█░███░░░░░█░█░░░░█░███░░░░██░░░░░░░██░░██░█░██░█░░█░░█░██░░░░░██░█░██░░██░█░░░░░░░█░██░░░░░░░░░░
░█░█░░░░██░░░░██░░░░░░███░░░░░░██░█░░░░░░█░░░░░░░░█░░█░░░█░░█░░█░░██░░░░░█░██░█░████░█░░██░░░░░░░█░░░████░██░░
░█░░░░░░░░░░░░██░██░░░░░░█░█░██░░░██░░░░░░░░░░░░███░██░░█░░░█░█░░█░░░░░█░█░█░███░░░██░██░█░█░░█░████░░░░░░█░█░
█░░░░░██░░░░░░░░░░░░░█░███░░█░░░░█░█░░░░░░░░░░░░░░█░░███░░██░░░░░░░░░░░█░░█░░█░░░░█░██░░█░░░░░█░█░█░░█░█░█░█░░
████░█░█░█░░░░░░███░██░░░░███░░░░█░█░░░░░░█░█░██░░░█░░░░░░█░░░██░░░░█░░░░██░░░░█░░░░░█░░░█░░░░█░░░░█░█░██░░█░░
░░█░░░░█░██░░░░█░█░░░█░░░░░░░░░░░░██░░░░█░██░██░░░█░█░██░░█░░█░░░░█░█░░█░█░░░░░███░░░░░░██░██░█████░██░█░█░░░░
░░█░░░░█░░░░░░░░░░██░░░░███░██░██░██░█░░█░█░█░█░█░█░█░█░░█░░░░░█░░██░░░██░░░░░░░░███░█░░█░░░█░░░░░░█░░░░░█░█░░
░███░░░█░█░░░░░░█░█░░░░░░░█░█░░█░░█░█░░░░█░░░█░░░░░█░░█░█░░█░░░░░█░░█░█░░░░░██░█░█░██░░█░░██░█░█░██░░█░░░░░░░░
░█░░░░█░█░░██░░███░█░░█░░░█░█░░░█░██░░░░█░█░░░░░░░░░░░█░░░░░██░░█░█░█░░░█░░░█░░██░░░█░█░░█░█░██░█░░░██░░░░░░░░
░░░░███░░░█░░░░░█░░░░░█░██░░██░░░█░█░░██░█░░░░░░░░░░░██░░███░░░░█░░░░░░███░███░█░░██░░█░████░█░░░░░░░░░░░░░██░
░██░░░░░██░░█░███░█████░█░░░█░██░█░░██░░░█░░░░░░░░██░░█░█░░░░█░░░░░███░█░░░░░░░░░█░░░░█░█░░░░█░░█░░░░██░░░██░░
░░░░░░░░░███░█░░█░█░░█░█░░░░█░█░░██░░░█░░░██░█░█░░░░░░░░░░██░░░░░░░░██░░█░░░░░███░██░░░░█░██░░░░░██░░░░░░░░░░░
░░░░██████░█░████░██░█░█░░██░█░█░█░█░░░░█░██░████░░███░██░░█░░░░░░░░█░░███░░██░█░█░█░░░░░█░█░█░█░██░█░░░█░░░░░
░░░░░░░░░█░░█░░░░░░█░█░░░█░░░█░░██░██░█░█░█░░██░░░░░░░█░░░█░░░░░░░░░█░░██░░░░█░░█░░█░█░█░░░░██░██░█░███░█░░░░░
░░░█░█░░█░█░░█░█░░░█░░█████░░░█░█░░░█░█░░░░░░█░██░░░░░░░░█░██░█░░░░█░░███░░░██░░░█░█░███░░░░░██░░░░█░░█░░█░░░░
░██░░░█░░░█░░████░░░██░█░░░░█░░░░█░█░█░░░░█░█░█░█░█░░░░░░░░░██░░░░░░█░█░░█░░░█░░░░█░░░░░░█░█░░░█░░█░██░░░░░░░░
███░░░█░░░█░██░█░█░█░█░█░█░█░░░░░░░█░░░░█░░█░░██░░░░░░░░░█░░██░░█░███░█░░█░░░██░░█░░░███░░░██░░░░█░░░░░██░░░█░
░░░█░█░█░░░█░░░░░░░░█░█░░█░███░█░░░█░░░████░░█░██░░░░░░░░░█░░█░█░██░█░░░░░░░░░█░█░░░█░░░░░█░█░█░█████░░░█░░█░█
░████░░█░░█░░░░░░░░░░░█░█░░█░█░█░░██░░░░░░░█░░░█░░░░░░░░░░███░█░░█░█░██░░░░░█░░██░░██░░█░░█░█░█░░░░░░░█░█░░█░░
░░░░██░░░█░░█░░░░░░░░░█░██░░█░█░███░░░░░░░█░█░░░█░█░█░░███░░░░█░█░░██░█░░░░░██░░██░░░██░░░░░██░░░░░░░█░░█████░
█░░█░█░███░░██░█░░█░░░░░░██░░█░░░░█░░░░░░░██░██░░█░░░░░█░░░░░█░█░█░░░███░░░░█░█░█░░░░░░░░░░█░█░░██░░░░░░█░░░█░
░░░░░█░░░██░░███░░██░░░█░█░░░█░░░░░░░░░░░░░█░░░░░░█░░░██░░░░░█░███░░█░█░░█░█░░█░░░░██░█░███░█░███░░░░░░░░█░███
█░░█░░░░░░░░░░█░░░░██░█░░█░█████░█░██░█░░░░░░░░░░░░░░░░██░░░░█░░█░█░░░░░█░█░██░░░░░█░█░░░░░░░░░░░███░░░░░░█░░█
░░░░█░██░░░░░█░█░█░░█░░░░░░██░░█░█░█░░█░░░░░█░░░█░█░█░█░░░░░█░░░░██░██░█░█░██░░░█░█░░░█░░░░░░░█░░█░░█░░░░░░█░░
░░░░█░█░░█░█░░░██░░░██░░░░░░░░░░░█░█░██░█░░░░░░█░██░░░░██░░░░█░█░█░░░░██░░░░░██░░█░█░████░░█░░░███░█░░░░░░░░█░
██░░███░█░░░█░█░░█░█░░░█░░░░░░░░░░█░█░█░░░░██░░░░░░░░░░░░░░░░██░█░░██░░░█░█░░█░░░█░█░░█░█░█░░░░░█░█░░░░░░░░█░█
░░░██░░░░░░██░░█░██░█░░░██░░█░░░░░█░░███░░█░█░████░░░░░░░░░░░██░█░░░░░░░██░█░░█░░██░████░░░░░░░█░██░░░░░░░░█░█
█░░█░██░░█░█░█░█░█░█░█░░░█░██░█░█░█░░░█░░░░██░░░░█░░░░█░░█░░░░░░░░█░░█░░░░░░█░░█░░░░░█░░░░█░░░░█░░░█░░█░░██░█░
░░░░░░██████░█░░██░██░░░█░░███░███░░░██░░██░░█░░░░██░██░░░░░░██░░█░█░█░░███░░░░█░░░░░█░█░█░█░░█░░░░░███░░░░░░░
██░░█░░█░░██░███░░█░░░░░░██░░░░░░░░░░░░████░░█░░░█░░█░█░░░█░░█░░░█░█░░░░█░░░█░░████░░░░█░░░░░░░█░█░█░░░░░░░░░░
█░██░░█░░░░░░░░░░░░█░░█░█░░░░█░█░░░░░░░█░░░█░█░██░░█░░█░░█░░█░░░░█░█░█░█░░░░█░░░░█░░░░░░░░░░░░░█░░█░░░░░░░░░░█
█░██░░███░░░█░░░░██████░░░░░░░░█░░░░█░░░█░░░░█░░░░█░██░██░░░░█░░█░█░░██░░░░░██░░░░░░░██░░░░░█░████░█░░░░░░░░█░
░█░░░░█░░█░█░░░░█░░░░░░█░░░░░░░█░░░█░░░█░█░░████░░░░░░░░░░░░█░░░░░██░░░░░░░░░██░░░░░█░█░░░░████░░█░█░░░█░░███░
░░█░░░████░█░░░░█░██░░░░█░░░░░░░░█░░██░░░█░░░░░░░█░░░░░███░██░░█░░█░░░░██░░░░░░░░░░██░█░█░░░░░░░░███░░░░█░░░█░
░░░░██░█░░░░░░░░█░░█░░░░░█░░░█░█░░░░█░░░░░███░░█░████░░█░░██░██░░░░█░█░░░█░█░░█░░░░░█░░█░░░░░░█░███░░░██░░█░░█
░░░█░███░░░░░░░░░░░░░█░░░█░░░██░░█░░████░░░░██░░██░░░░█░░░█░█░░░█░░░█░█░░░░█░█░█░░█░░░░█░█░░█░█░░█░░░█░░██░░░█
█░░░░░░░░░░░░█░░░███░███░█░░░░███░░░░░░██░░░░░░░█░░░█░░░░░█░░░░░░░░░░██░░░░█░░█░░░█░░█░░██░██░██░░░░███░░█░█░░
█░░░░░██░░░░░█░█░█░░░░░█░░██░░░█░░░█░░░░█░░░░░░░░░░█░░█░░░░█░░█░░░███░░██░█░███░█░░████░█░░█░░█░░░░█░░░█░██░█░
█░░░░██░░░░░░██░░░█░░█░███░░░░░░░█░░░░░█░░█░██░░░░░░░█░░░░░█░█░░░░░░░██░░░█░░█░█░░░█░░█░░█░░░██░░░░█░░░░░░░░█░



Template: Maze
Obstacle map: Seed = -1317146267; rows = 40; cols = 110; walls = 1760; walls/cells: 40%. Constants: MAX_AROUND_WALLS: 2; PO_POINT: 26%.

░░░░░░██░█░█░█░█░███░█░░░█░░░█░░█░░░░█░██░░░██░░░███░░█░░░░█░██░░█░░██░░█░░░█░░░██░░█░█░░█░█░░░░██░█░█░░░████░
░██░█░█░░█░█░█░░░░░░██░░░░░░█░█░█░██░░░░░░█░█░███░░░█░░░█░██░░░█░░░░░█░█░██░░░░░█░█░█░░█░██░░░░░█░░█░░░██░░░░█
█░░█░█░░█░░█░███░█░░░░░██░░██░█░░█░░███░░░█░░█░░░█░░░░██░░█░░░█░██░░██░█░█░░█░░█░█░░██░░░█░███░█░█░░░██░█░█░░░
░█░█░░█░░█░█░░░█░█░░█░░█░░█░░█░█░█░░█░░█░██░░█░█░██░██░░█░░░███░░█░█░░░░██░█░███░░░█░░░██░█░█░░░░█░░█░░░█░░██░
█░░░█░░█░░░░░█░█░████░░█░░░█░░░█░░█░░██░░░░██░░██░█░█░█░░██░░░░███░█░██░░░█░░░░░███░░█░░░░░░░████░█░█░░█░░░░░░
██████░█░██░░██░░░░░░█░░█░█░██░█░░█░█░░████░█░█░░░█░█░░░█░█░█░░█░░░░█░░█░███░░█░░░░██░███░█░█░░░░░█░█░█░█████░
░░░░░░░░░░░██░█░░░██░░██░█░█░░░░███░█░█░░░░░█░░██░░░░█░██░░░█░███░█░░░██░░░░░█░██░░░░░░░██░██░░█░░█░█░░█░░░░█░
░█░██████░░█░░████░░█░░░░█░█░█░░░░░█░░░█░░██░█░█░█░█░█░░░░█░█░░░░░██░█░░░██░█░░░█░███░░█░░░░░█░██░█░░░░█░███░█
██░░░░░░░░█░░░░░░░██░█░░█░░█░██░░░░█░░░░░█░█░███░░██░█░██░█░█░░░░█░░█░░░░█░█░█░█░█░░░██░█░░░░░░░░█░█░██░█░░░░░
░░██░██░███░██░██░█░░█░█░█░██░█░░░█░░░░██░░░░░█░█░█░█░█░░░█░█░░░░░█░░██░░█░░░█░█░█░░█░░░░█░█░░░█░██░░░░░█░░██░
░█░░█░░█░░░█░░█░░░░░░█░█░░█░░░░███░█░██░░███░░░░░█░░█░░██░███░░░██░░░█░░░█░░░█░█░░█░░███░░██░█░█░░░█░███░█░█░█
█░░█░██░██░░░█░█░███░██░░░█░███░░░░█░░░░██░█░░██░█░█░█░░█░█░░░█░█░█░░█░░█░██████░██░░█░░██░░███░░█░░░░█░█░░█░░
░█░█░░░░█░░███░█░█░░░█░░░█░█░░░███░░░░█░░░░█░██░░░░█░█░█░█░██░░██░█░███░█░░░░░░░░░░░██░░░░█░░░██░░████░░░░█░░░
░██░█░█░░█░░░░░█░█░█░░░██░░██░█░░░██░█░░░█░██░░█░░░█░██░█░░█░░█░░█░░░░░█░██░█░█░██░█░░███░█░█░░░░█░█░░█░█░█░█░
░░░░░█░░█░████░░█░░█░█░█░░░░█░██░█░░█░█░█░░░░░░░░█░██░░░░██░██░░█░█░░░██░░█░███░░██░░░░░█░█░██░░█░█░░░░░█░█░░█
█░██░░░░░░█░░░░░██████░░░░█░░░█░░██░░░█░░█░░██████░░░█░█░░░█░░░█░░░██░░░░░█░░░░██░░██░██░░░█░░█░█░░█░░██░░█░██
░█░█░█░███░░░██░░░░░░░████░█░░░█░█░█░█░████░░░█░░█░██░█░░░░███░░░█░░░░░██░░██░░░░░░█░█░░███░█░█░░░░█░█░██░█░░░
░█░░███░░██░█░░██░░░█░░░░░░█░░░░░█░░░██░░░░░░█░██░█░░░█░░░░░░░█░░█░░░░░█░░░░░███░██░░██░░░█░█░████░░░░░░░█░███
░░██░░█░░░░░█░█░█░█░██░░░░░░█░░░░░░██░░██░░██░░░░░░░█░█░█████░███░░░░░░█░██░█░░█░█░░░█░░█░░░█░░░░░█░█░██░█░█░█
█░░░██░░█░░██░░░░█░█░█░████░██░██░█░█░░█░██░█░░█░█░█░█░█░░░░░█░░█░░░█░░█░██░█░█░░█░█░░░█░░███░░██░█░██░█░█░█░█
█░░█░░░█░██░░░██░█░░░░░░░░░██░░█░█░░█░░█░░░█░█░█░█░░░░█░██░███░█░██░░██░░█░░█░█░░█░░███░██░░░░██░░█░░░█░░█░░░░
░░░██░░█░░█░░█░█░█░██░███░██░░█░░░░████░█░░░░███░█░██░░░░░░░░░░░░█░█░░█░██░░█░░█░██░█░░█░█░██░██░██░██░░██░░██
█░█░░░█░█░███░░█░█░█░█░░░░░░░░█░█░░░░░░░█░██░░░░░█░█░░█████░░░░░█░░░█░░░░░██░░░█░░░█░░░░░░░░░██░█░░█░░░█░░█░░░
░░░█░░█░█░░░░█░██░░██░░█░░█░█░███░░█░█░█░█░░█░█░░█░░░░█░█░███░░░█░░█░░░███░░███░░█░█░░██░██░█░█░░█░█░██░█░░░░█
█░████░██░██░█░░░█░░░░█░█░░█░█░░░░█░░░█░░░░█░░█░██░██░░░░░░░░░░░█░░░██░█░░██░░░░░░█░░██░░█░░░░░░░░█░░█░░░░█░░░
░█░░░░░█░█░█░░░█░░█░█░░██░█░░░█░██░░█░█░░█░░░██░░░█░░███░███░░███░█░█░░█░░░░░█░░██░█░█░░█░██░█████░██░░░██░░██
░░░█░█░░░░░░██░█░░█░█░█░░░░░░░░░█░█░░█░░█░█░█░░██░█░█░░█░█░░░░░░░█░█░░░█░██░██░█░█░█░░█░░░░░█░░██░░░█░██░░█░░░
░██░█░█░░░██░░░░██░░░█░██░░░█░░░█░█░██░██░█░█░█░█░█░█░░░█░░░░░█░░█░░█░██░░░░█░░█░█░█░█░██░░███░█░░██░█░░░░█░█░
█░█░░░░██░░██░██░░░█░░░░░█░░█░░░█░█░░░░░░░█░█░░█░░█░░░░░░░█░███░█░███░█░██████░█░░█░░░░█░░░░░░░██░░░░█░░░░░█░█
░░░█░█░░██░░░░░░█░░██░█░░░░██░█░██░░█░█░█░█░███░█░█░█░███░░█░█░█░░░░░░░░░░░█░█░░██░░█░█░███░█░░█░░█░░█░███░░█░
░█░█░██░█░█░███░█░░█░██░░████░░█░░░██░█░█░░█░░░░░░░█░░░░█░█░░█░█░███░░██░███░░░░█░█░░░█░░██░█░░█░░█░█░░█░█░█░█
░░░█░░░█░░░█░░█░██░░░░░░█░░░░░██░░░█░░█░░░█░░█░█░█░░█░█░█░██░░░█░░░░░█░█░░░░░██░█░░█░██░█░░█░░█░░██░░░█░░░░█░█
█░█░█░█░██░█░░░░░░█░█░░█░█░██░█░██░░██░░█░██░█░███░░█░█░░░░░██░█░██░██░░░███░█░░█░█░█░░░░█░░░░█░░░░░█░█░██░█░░
█░░░███░█░░█░████░░░░█░█░░█░█░█░░░█░░░░█░░░░░█░█░░██░░█░███░█░░█░█░█░░█░█░░█░░█░░░██░████░███░█░██░░░██░█░░█░█
░░░░░░░░░░██░░░░░█░█░░░█░█░█░░░███░█░█░░░█░░░░█░░█░███░░█░█░█░░█░░░░██░░████░█░░█░░░░░░░░█░█░░█░█░███░░░░░░█░░
░░░██░░█░█░█░░██░░░███░█░░██░█░░░█░█░██░█░░█░█░██░░█░█░█░░█░█░█░█░█░░░██░░░█░░█░███░█░░░█░░░░░█░░░░░░█░█░███░░
███░░░█░█░░█░░█░░░█░░░░░██░░░███░░░█░░░██░░█░█░░░░█░░░░░█░█░█░█░░░██░█░░█░░█░░░█░░█░░██░██░██░░█░██░░█░█░██░██
░░░█░██░░█░░░█░░█░░██░░█░█░██░░░██░█░██░░░█░█░░█░██░██░█░░░░░█░███░██░░░░░░█░██░░░░░█░█░░░██░██░░█░░█░█░░░█░░░
█░█░█░░█░░██░█░█░█░░█░██░░░█░░░░░░█░░█░██░░░█░██░░░█░░█░░░██░░█░░░░█░█░█░██░░█░██░██░░░█░█░░█░░░░██░█░░████░░░
░██░█░░░░█░░░█░█░░░░░░░░█░░█░██░░█░██░█░░██░█░░█░░░██░█░██░░█░░░██░█░░░█░░█░█░░░░░░░█░█░░░█░█░██░░░█░█░█░░░░██



Template: Stick Room
Obstacle map: Seed = -2003635029; rows = 40; cols = 110; walls = 880; walls/cells: 20%. Constants: MAX_AROUND_WALLS: 1; PO_POINT: 6%.

░░░░░░░░█░░░██░░░░░░░░░░░░░░░░░░███░░░░░░░░░██░░█░█░░██░░░░░░░█░█░█░█░░█░█░░░░░░░░░█░█░░██░█░░░█░█░░░░░░░░░░█░
░█░░█░█░░██░░░░░░░░░░░░██░░░█░░█░░░██░░░░░░░░░██░█░░█░░░█░░█░█░░░░░█░░█░░█░░░░░░░██░░░░█░░░░░░░░█░░░░░░░░░░█░░
░░██░█░█░░░░░░░░░░░░░░░░░░██░░░░██░░░░░░░░░░█░░░░░░░░░░█░██░░░░░█░█░░░█░░░░░░░░█░░░░░░░█░░░░░░░░░█░░░░░░░░░░░░
░░░░░█░█░░░░░░░░░░░░░░░░██░░░░░░░░░░░░░░░░█░█░█░░░░██░██░░░░░░██░░░░░█░█░░█░░░░░██░░░░░░░███░░░░░░░█░░░█░░░░░░
░░█░█░░░░░░░░░░░░░░░░░█░░░░░░░░░░░░░░░░░░░░█░░█░░░░░░█░░░░░░░█░░██░░░░░░░░░█░█░░░░██░░░░░░░░░░░░██░░█░░░█░░░░░
██░░░█░██░░░░░░░░░██░░░░░░░███░██░░░░░░░░░░░░░░░░░░██░█░░░░░░░░░░░░░░░█░███░█░░░░█░░█░░░░░░█░░░░░░█░░█░░█░░░░█
░░░░░█░░░█░█░░█░░░░░██░██░█░░░░░░░░░░░░░░░░░░█░░░░░░░░█░░░░░░░░░░░░░░█░█░░░░░░░░░█░░░░░░░░░░█░█░░░█░░░██░███░░
██░░░░█░░░░░█░░██░██░░░░░░░░█░░░░░░░█░░██░█░█░░░░░░█░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█░░░█░░█░█░░░░░░░░░░█
░░█░░░░░░█░░░██░░░░░█░░░░█░░░█░░░░░░░█░░░█░░░░░░░░█░░░░░░░░██░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█░░░█░░█░░███░░░██░░
█░░░░░░░░░░░█░░░░█░░█░░░█░░░█░░░░░░░░░██░░░░█░░░░░█░░░░░█░░░░██░█░░░░░░░░░░░░░░░░░░░░░░░░░░██░█░█░░█░░░░█░░░░░
░░░░░░░█░█░░░░█░░█░█░█░░░██░░█░░░░░██░░░░█░█░█░░░░█░░░░░░█░░░░░█░░░█░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█░░░░░█░█░███
░░░░░░░█░█░░░░░█░█░█░░░░░░░░█░░░░██░░██░░░█░░░░░░░█░░░░░█░░░░█░█░░░█░░░░░░░░░░░░░░░░░░░░░░░██░█░░░░░░░░░░░░░░░
░░░░░░░░█░█░░░░░█░░░░░░░░░░█░░░░░█░░░░░░░░░░██░░░█░███░█░█░░░█░█░░░█░░░░░░░░░░░░░░░░░░░░░░░░░█░░██░░░░██░███░░
░░░░░░░░█░░░░░░█░███░░░░░░░░███░░░█░░█░░░█░░░░█░█░░░░░░░░░█░░░█░░██░░░░░░░░░░░░░░░░░░░░░░░░░░░██░░░░░█░░░░░░░░
░░░░░░░░░░░░░░█░░░░░░░░░░░░░░░░░█░█░█░░░░░██░█░░░░░░█░░░░░░░░░░░░░░░░░█░░░░░░░░░░░░░░░░░░░░░░█░░█░░░█░░░░░░░░░
░░░░░░░░░░░░░░░░░██░░░░░░░░█░███░░░░█░░░░░░░░░░██░░░█░░░█░░░░░██░█░░░░█░░░░░░░░░█░░░░░░█░░█░░░░░█░░█░░░░░░░░░░
░░░██░░░░░░░░░░░█░░░░░█░░░░░█░░░█░░█░█░░░██░█░█░░░░░░█░█░░░░░░░░█░░░░░░█░░░░░░░█░░██░░█░█░░█░░█░█░░█░█░░█░░░░░
░░█░░░░░░░░░░░░░█░█░░░█░░░░░░░█░░░░█░░░░░░░█░░░█░░░░░░█░█░░░░░░█░░░██░░█░░░░█░░░█░░░█░░░█░█░░█░░░░░░░░█░█░░░░░
░░█░░░░█░░░░░░░░░░░███░░░░░░░█░░██░█░░░█░█░░░█░░█░░░░░█░░░░░░█░░░░░░░█░░█░█░░█░█░░░░█░░░█░░█░░█░░░░░░█░░░█░░█░
░░█░░░░░█░░░░░░░░░░░░░█░░░█░░█░░░░░░██░░█░██░█░░░█░░░░█░░░░██░░░░░░░█░██░░░██░░░██░█░░█░█░░░█░░█░░░░░░░█░█░█░░
█░█░░█░█░░░░░░░░░░░█░░█░░░░██░░█░░░░░░░░█░░░░░█░█░░░░░░░░░░░░█░█░░█░░░░░░█░░░█░█░░░█░█░░░░░░░░█░░░░░░██░█░█░░█
░░░█░█░░░░░░░░░█░░░█░░░██░░░░░█░█░░░░░░░░░░░█░█░░░░░░█░░░░░░░█░░██░░░░█░█░░██░░░█░█░█░░░░░░░░█░█░░░░█░░░░░░░█░
░░░█░█░░██░░███░░░░░██░░░░░░░░█░░░░░░░█░░███░░░░░░█░░█░░░░░░░░░░░░█░░░░█░░░░░█░░█░░░░█░░░░░░░░░█░░░░░░████░█░█
█░█░░█░█░░░░░░░██░█░░░░░░░░░░░█░░░░░░░░██░░░░░█░░░█░█░░░░░░░░░░░░░█░██░█░██░█░░░░░░██░░░░░░░░░░░░░░░░░░░░░░░░░
░░░░░░░█░░░░░█░░░█░░░░░░░░█░░░░░░░░░░░░░░░░░░░█░█░░░░░██░░░░░░░░░░░░░░░█░░░░░░░░░░░░░█░░░░░░░░░░░░░░░░░░░░░░░█
░░░░█░█░░░░░░█░░░░░░░░░░░░░█░██░░██░░░░░█░░░░░░█░░█░░█░░█░░░░░░░███░░░░░░░░░█░██░░█░░░█░░░░░░░█░░░░░░░░░░░░░░░
█░░█░░░█░░░░░█░░██░░░░░░░░░█░░░██░░░░░░░░████░░░░█░░░░░░█░░░░░░█░░░░░░░░░░░░░█░░░░░█░░░░░░░░░░░█░░░░░░░░░░░░░░
█░█░█░░░░░░░░█░█░░██░░░░░░░█░░█░░█░░░░░░█░░░░░██░█░█░░░░█░░░█░░░█░░░░░░░░░░░░█░░█░█░░░█░░░░░░░░█░█░░░░░░░░██░░
█░█░░██░░░█░░░░█░░░░░░░░░░█░░█░░░█░░░░░░░░░░░█░░░░█░░░░░░░░░░█░░█░░░░░░░░░░░░░░█░░░█░█░░░░░░░░█░█░░░░░░░░░░░█░
░░░░░░░░█░░█░░░░░░░░░░░░░█░░░░░█░░░░░░░░░███░█░░░░░░░░░░░██░░░█░█░░░░░░░░░░░░█░█░░░█░█░░░░░░░░░░█░░░░░░█░░░█░█
░█░█░░█░█░█░█░░░░░░░░░░░░░░░░░░░█░░░░░░░░░░░░░░░░░░█░░░░░░░█░░░█░██░░░░░░░░░█░░░█░█░█░░░░░░░░░░█░░░░░░░░█░░░░█
█░█░░░░░░░█░░░░░░░░░░░░█░░░█░░█░█░░░░░░░░░░█░░░░░░░█░░░░░░░░██░░░░░░░░░░░░░█░░█░█░░░░█░░░░░░░░░░█░░░░██░░█░█░░
█░░░░░█░░░█░░░░░░░░░░░░█░░█░░░░█░░██░░░░░░█░░░░░░░░░█░░░░░░░░░░░░░░█░░░░░██░██░░░░░░░█░░░░░░░░░░░░░░░░░█░░█░░░
░█░░██░░░█░█░█░░░░░░░░░░█░░█░░░░░█░░░░░░░░░█░░░░███░█░█░░░██░░░░░░░█░░░░░░░░░░░░░░░░░█░░░░░░░█░░░░░░░░░░█░░██░
░░░█░░░█░░░░░█░░░░░███░░░█░░░░░█░░░░░░░░░░░░█░█░░░░░░░█░██░░░██░░█░░█░░░░░░██░░░░░░░░░░█░░░█░█░░░░░░░░██░░░░░█
░░░█░██░░░█░░░█░░░█░░░░██░░█░█░░█░░░░░░░░░░░█░░█░░░░░░█░░░█░█░░░░█░░█░░░░░░░░██░░█░█░██░░░█░░░█░░░░░░░░░░░░░░░
░░░░░░░░██░█░░█░░░░░░░░░░█░█░░█░░█░░░░░░░░░░█░█░█░░░░░█░░█░█░█░░░█░░░░░░░░░██░░░█░█░█░░░██░░░░░██░░░░░░░░░░░░█
░░░░░░░░░░░░░█░█░░░░░░░░░░░░░█░░█░█░░░░░░░░░░░█░░░░░░░█░░░░░░░░░░░░░░░█░░░░░░░░░░░░░░░░░░░█░░██░░██░░░░░░░░░░█
░░░█░░░░██░░░█░░░░░░░░░░░░░░█░░░░░█░░░░░░█░░░░░░░░░░░░█░░░█░░█░█░░█░░░█░░░█░░░░░░░██░███░█░░░░░░░░░░░░░░░░░░█░
░░░░███░░░█░░░█░░░░░░░░░░░░░░██░░░░░░░░░░░██░░█░░░░░░░░███░█░█░█░░█░░░█░░░█░░░░░░░░░█░░░░░█░█░░█░░█░░░░░░░░░░█

About

This project creates a random obstacle map (matrix) where an obstacle is generated with a 100% of probability if it has at least another wall around it, but less or equal than MAX_AROUND_WALLS obstacles surrounding it: (0 < obstacles around <= MAX_AROUND_WALLS). To count the number of walls around, it is used the 8-neighbour model. However, if the previous condition is not followed, the probability of generating that wall, which decreases exponentially, changes dynamically with the obstacles already placed. A lot of different types of maps can be generated in a O(rows * cols) time guaranteed.

License:GNU General Public License v3.0


Languages

Language:Java 100.0%