On a quand même le droit de pondre un moteur de déplacement, pour se faire plaisir!
Niveau puzzle game, il est besoin de prendre les problèmes un par un.
Voici l'astuce klik spriting dont tu as besoin pour déplacer un rocher, pour éviter une superposition avec un autre rocher, un obstacle.
Si tu n'arrives pas à gérer les collisions pour le rocher, je ferai un exemple.
Édit:
Tu as décortiqué Fighter Sokoban, parce que l'exemple résout la problématique des collisions pour n'importe quel nombre de caisses, (rocher, pinces à linge, etc).