We had to make this as a "practicum" in our computer science class.
This is what I made in about 5 hours (java)
https://gist.github.com/brambram/6261967
(it was made in 2 sessions, in the 2nd session we had to expand the elevator code so it supported 2D movement)