Implementation

We have implemented our model as a Java Applet. If you want to build upon our code (for example for the same course), the full code is requestable. Therefore you need to send an email to TeamBeaverGang@gmail.com.

A Javadoc of our code is available here. It gives insight in the structure of our code (e.g., classes, data members, methods, etc.).


To help you out understanding our code, we made a Class Diagram so you can see how the code is designed. The diagram is shown below.

The 'Beaver Gang' class represents the top class. From here, the rest is created. 'Beaver Gang' creates the GUI and 'The Game'. The GUI shows our graphical user interface with which you can interact and control 'The Game'. The Game is a kind of supervisor. It creates the agents, the card base, and keeps track of turns and scores. It tells agents what they can do, agents respond to it with some action, and The Game executes it (e.g., swapping cards). The Game also controls the GUI, keeping the information on screen accurate at every step.

An agent, in turn, can use his Kripke model and strategy rules to decide upon an action. After an action is performed by some agent, an agent updates his knowledge by the use of its update rules.