[Home]X2/DesignPatterns

Robo Home | X2 | Changes | Preferences | AllPages

Catalog of DesignPatterns used in X2

other DesignPatterns used in Toad and present in X2 through Toad's adapters


AdapterPattern?

This pattern allows X2 to use Toad's gun and movement. (not used in the rumble releases)

BlackBoardPattern?

This pattern was already used in FloatingTadpole fo its VirtualGuns. In X2 it's used to switch from one movement algorithm to another.

BuilderPattern?

This pattern is used when creating enemy's representation, the gun and movements add their parts to the basic representation created by the EnemyTracker.

CommandPattern?

This pattern is used in X2 for team communicationm each TeamMessage is a command object.

CompositePattern?

This pattern is used in Toad to represent the SegmentationTree.

DecoratorPattern?

This pattern is used in X2 to add the BlackBoardPattern? to a movement, in Enemy it adds features for the gun and the movements.

FacadePattern?

This pattern provide a simple interface for a complex system, like the SementationTree in Toad.

FactoryPattern? combined with FlyWeightPattern?

Those patterns are used in X2 for creating and managing MovementStrategy, GunStrategy and RadarStrategy. Those patterns allow to have single instances for each strategy which are all accessed through their own factory.

SingletonPattern?

This pattern is used extensively for all objects that should only have one instance.

StrategyPattern?

This pattern is used in X2 for movement, gun and radar behaviour.

TemplatePattern?

This pattern is used extensively in X2 for all main component of the bot: MovementStrategy, GunStrategy , RadarStrategy, EnemyTracker, Enemy, StatKeeper which all implements the Pluggable interface.

VisitorPattern?

This pattern is used in Toad for all the operations on the SegmentationTree.


Comments

You gave a totally new meaning to the term 'patternmatcher' :) --Loki

Robo Home | X2 | Changes | Preferences | AllPages
Edit text of this page | View other revisions
Last edited May 5, 2006 5:43 EST by Florent (diff)
Search: