Clojure operators – sliding door scenario

This scenario is concerned with doors. Doors can be in different states (open or closed,

locked or unlocked). Doors connect rooms and are un/locked with specific keys.

Specify and build the following operators…

• open (an unlocked door)

• close (a door)

• lock (a door with a key)

• unlock (with a key)

• move (from one room to another)