Context:
Home: Where bunny starts, where the carrots need to go
Bunny: The player's character
Tree: An obstacle that cannot move
Rock: An obstacle that can be pushed forward
Carrot: Can be pushed and dragged, including around a corner
In this example, if the player pushes the rock to the carrot at C6, the rock will cover the carrot and the player cannot win and must restart the level.
Q: How do I randomly generate this kind of map, where the player must move rocks to get to carrots?