At work, I hang out in a chat room with other programmers. We mainly tell bad jokes all day but I was tipped off to a really fun programming exercise game. It's called Elevator Saga.
The point of the game is to program a set of elevators to efficiently go from floor to floor, picking up and dropping off passengers. And if you're wondering how exactly you program an elevator, the designers have created an API for controlling the elevators
Here's the code that I have which I liberally borrowed: