Since i have been ignoring C++ for about a decade i thought by my self it would be good to see how thing i have learned with Java are beeing implemented in C++. In order to have some fun i decided to reimplement a text based adventure game i have played about 30 years ago.

I addition my intenstion is also to test a few more up to date technologies on Windows 8.1 with the MINGW environment using eclipse CDT.

The Game

The game consist of a two dimensional world of places which are connected to there direct neightbors. The connections to other places can be passed or they are blocked by different obsticals.



Creating the project

The first decission to be taken is about the file system structure. I have decided to follow one of the proposals of the cmake team todo no in source building, which means there will be a directory called build parallel to source directory. The resulting directory structure of the project is shown below:

            ----+--- trunk/ --+ [ sources ] + CMakeLists.txt
                |             |
                |             +-- h/ ------ [includes]
                |             |
                |             +-- test/ --- [testcases]
                +--- build/ --+-- bin/ ---- [adv.exe]
                              +-- lib/ ---- [libadv.a]
                              +-- test/ --- [test executables]

The actual source code is stored under the directory trunk/ and the actual build is done in the directory build/ which is a temporary directory which needs to be created before preparing the build environment with cmake. The build system is generated by the following commands:

$ mkdir build
$ cd build
$ cmake -G "Eclipse CDT4 - Unix Makefiles" ../trunk

In order to use this environment with eclipse you need to import the project from the build directory.


The source code