street fighter II example
State-Pattern example