Chapter 3.3 - Compiling the Framework

Before you can call make, you have to do a little change in initcomponents.cpp. It's the main initalization file for the whole RealTimeBattle Framework. The change is to tell the framework that there is a new strategy.

First, you have to add an include statement pointing to your strategy factory header file. For exaplme, Brotfrucht calls #include "bots/brotfucht/bffactory.h".

The second step is to add a usig statement for your factory class in void initComponents(). Brotfrucht needs there: using Brotfrucht::BFFactory; because Brotfrucht's namespace is Brotfrucht and its factory class is called BFFactory.

The last step is the step where we really add the strategy. In void initComponents(), we have to add the line mrc->registrateStrategyFactory("Brotfrucht",auto_ptr& lt;Strategies::StrategyFactory>(new BFFactory())); for Brotfrucht for example. mrc is the Master Resource Control, the central unit of the RealTimeBattle Framework. Brotfrucht is the name of the strategy. With this name you can identifiy a strategy for a robot in the config-file. The second parameter is an auto pointer to an instance of a class derivated from Strategies::StrategyFactory. For Brotfrucht, it's a new instance of BFFactory().

That are all changes you have to make at the framework. It's ready for compiling now.

Compilation

Take a shell and call make install. If it is your first compilation you have to call the configure script by calling ./configure first.

The first compilation of the RealTimeBattle Framework may take a little time. But when you just add a new strategy it will be faster cause some parts are not getting compiled again.