ballwar.model.strategy
Class DrunkenStrategy

java.lang.Object
  extended by ballwar.model.strategy.AUpdateStrategy
      extended by ballwar.model.strategy.DrunkenStrategy
All Implemented Interfaces:
IUpdateStrategy

public class DrunkenStrategy
extends AUpdateStrategy

AUpdateStrategy-bsed strategy that delegates to one of 4 randomly choosen strategies whenever it's updateState is called.


Field Summary
private  IRandomizer rand
          Randomizer used to generate the random values.
private  IUpdateStrategy s1
          A possible strategy to use.
private  IUpdateStrategy s2
          A possible strategy to use.
private  IUpdateStrategy s3
          A possible strategy to use.
private  IUpdateStrategy s4
          A possible strategy to use.
 
Fields inherited from interface ballwar.model.IUpdateStrategy
NullObject
 
Constructor Summary
DrunkenStrategy()
           
 
Method Summary
 void updateState(Ball context)
          Randomly delegates to one of the four stored strategies as per the following probabilities: s1: 0.64, s2: 0.16, s3: 0.10 and s4: 0.10
 
Methods inherited from class ballwar.model.strategy.AUpdateStrategy
init, kill, updateCollision
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

s1

private IUpdateStrategy s1
A possible strategy to use. Defaults to a StraightStrategy.


s2

private IUpdateStrategy s2
A possible strategy to use. Defaults to a CurveStrategy.


s3

private IUpdateStrategy s3
A possible strategy to use. Defaults to a BreathingStrategy.


s4

private IUpdateStrategy s4
A possible strategy to use. Defaults to a ColorStrategy.


rand

private IRandomizer rand
Randomizer used to generate the random values.

Constructor Detail

DrunkenStrategy

public DrunkenStrategy()
Method Detail

updateState

public void updateState(Ball context)
Randomly delegates to one of the four stored strategies as per the following probabilities: s1: 0.64, s2: 0.16, s3: 0.10 and s4: 0.10

Specified by:
updateState in interface IUpdateStrategy
Specified by:
updateState in class AUpdateStrategy
Parameters:
context - The strategy's context