Adventuring in C++