internal override void OnHandle(ExecutionContext context) { switch (context.Current.Value) { case DirectionalInstructionHandler.RightInstruction: context.Direction = Direction.Right; break; case DirectionalInstructionHandler.LeftInstruction: context.Direction = Direction.Left; break; case DirectionalInstructionHandler.UpInstruction: context.Direction = Direction.Up; break; case DirectionalInstructionHandler.DownInstruction: context.Direction = Direction.Down; break; case DirectionalInstructionHandler.RandomInstruction: context.Direction = (Direction)context.Randomizer.Next(4); break; case DirectionalInstructionHandler.TrampolineInstruction: context.Move(); break; } }