//constructor
 public MainWindow()
 {
     InitializeComponent();
     TrialSequence = TrialSequence.CreateEmptyTrialSequence();
     UpdateSequenceButtonContext();
     SetWozButtonsEnabled(false);
 }
        public static TrialSequence CreateTestSequence()
        {
            TrialSequence seq = new TrialSequence();


            seq.Add(BehaviorSequence.PushLeftNoCueSequence());
            seq.Add(BehaviorSequence.PushRightNoCueSequence());
            seq.Add(BehaviorSequence.PointRightCueSequence());
            seq.Add(BehaviorSequence.PointLeftCueSequence());
            seq.Add(BehaviorSequence.PointRightNoCueSequence());
            seq.Add(BehaviorSequence.PointLeftNoCueSequence());
            seq.Add(BehaviorSequence.PushLeftCueSequence());
            seq.Add(BehaviorSequence.PushRightCueSequence());
            seq.nTrials = seq.Count;
            seq.Name    = "Test";
            return(seq);
        }
 //set the subject number
 internal void SetSubjectNumber(int SubjectNumber)
 {
     this.SubjectNumber = SubjectNumber;
     if (SubjectNumber == -1)
     {
         this.TrialSequence = TrialSequence.CreateTestSequence();
     }
     else
     {
         if (SubjectNumber % 2 == 0)
         {
             this.TrialSequence = TrialSequence.CreatePredictiveTrialSequence();
         }
         else
         {
             this.TrialSequence = TrialSequence.CreateUnpredictiveTrialSequence();
         }
     }
     UpdateSequenceButtonContext();
 }
        static public TrialSequence CreateUnpredictiveTrialSequence()
        {
            TrialSequence seq = new TrialSequence();

            //behavioral cue on, push
            seq.Add(BehaviorSequence.PushRightCueSequence());

            //behavioral cue on, point
            for (int i = 0; i < 3; i += 1)
            {
                seq.Add(BehaviorSequence.PointLeftCueSequence());
                seq.Add(BehaviorSequence.PointRightCueSequence());
            }

            //behavioral cue off, push
            for (int i = 0; i < 2; i += 1)
            {
                seq.Add(BehaviorSequence.PushLeftNoCueSequence());
                seq.Add(BehaviorSequence.PushRightNoCueSequence());
            }
            seq.Add(BehaviorSequence.PushLeftNoCueSequence());

            //behavioral cue off, point
            for (int i = 0; i < 15; i += 1)
            {
                seq.Add(BehaviorSequence.PointLeftNoCueSequence());
                seq.Add(BehaviorSequence.PointRightNoCueSequence());
            }

            seq.Shuffle();

            //add two practise trials
            seq.Add(BehaviorSequence.PointLeftNoCueSequence());
            seq.Add(BehaviorSequence.PointRightNoCueSequence());

            seq.nTrials = seq.Count;
            seq.Name    = "Unpredictive";
            return(seq);
        }