- AdapterPattern?
- BlackBoardPattern?
- BuilderPattern?
- CommandPattern?
- DecoratorPattern?
- FactoryPattern? combined with FlyWeightPattern?
- SingletonPattern?
- StrategyPattern?
- TemplatePattern?
other DesignPatterns used in Toad and present in X2 through Toad's adapters
- CompositePattern?
- FacadePattern?
- VisitorPattern?
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