Package ballwar.model.strategy

Class Summary
ANoOpStrategy Abstract strategy that provides default behaviors that do nothing.
AUpdateStrategy Abstract strategy that provides random initialization of a ball.
BreathingStrategy An ANoOpStrategy-based strategy that only only overrides the updateState behavior to make the ball's radius grower larger and smaller in a random sinusoidal manner.
Change1Strategy A strategy that demonstrates self-modifying behavior by replacing itself with another strategy after a certain length of time.
Change2Strategy Similar self-modifying behavior to Change1Strategy.
ColorStrategy ANoOpStrategy-based strategy that randomly sets the context's color each time its updateState() method is called.
CurveStrategy ANoOpStrategy-based strategy that continuously modifies the velocity to produce circular motion.
DrunkenStrategy AUpdateStrategy-bsed strategy that delegates to one of 4 randomly choosen strategies whenever it's updateState is called.
ExplodeStrategy An ANoOpStrategy-based strategy that, upon colliding with another ball, may replace its context with a number of smaller balls with the same strategy, unless the context's radius is below a minumum length, upon which the context is simply killed.
HeavyStrategy An ANoOpStrategy-based strategy who initializes its context to have an infinitely large (positive) mass.
KillStrategy An ANoOpStrategy-based strategy that kills any ball that it collides with.
LightUpStrategy An ANoOpStrategy-based strategy that switches its color to a preset "lit up" color for a while after a collision.
MoveStrategy An ANoOpStrategy-based strategy that modifies the velocity of the context ball through user key presses.
MultiStrategy An ANoOpStrategy-based strategy that is the composition of two IUpdateStrategies.
RockStrategy An ANoOpStrategy-based strategy that initializes its context's velocity to zero.
ScoreStrategy An ANoOpStrategy-based strategy that increments an associated player's score at every collision and resets that player's score if it is killed.
StraightStrategy An AUpdateStrategy-based strategy whose updateState is a no-op hence the randomly initialized ball will travel in a straight line (unless it collides or bounces).
SwitcherStrategy A Decorator design pattern strategy that decorates an IUpdateStrategy, enabling the strategy (the decoree) to be switched at run-time.
WanderStrategy An ANoOpStrategy-based strategy that randomly modifies the velocity whenever the state of the context is updated.