Experiment()
{
  Context()
  {
    AssignmentGroup() {
      ExperimentName = "Müller-Lyer Illusion Adjustable";
      AdjustableStep = 2;
      AdjustmentUpKey = de.pxlab.pxl.KeyCodes.RIGHT_KEY;
      AdjustmentDownKey = de.pxlab.pxl.KeyCodes.LEFT_KEY;
      SubjectCode = "pxlab";
      HideCursor = 0;
      StoreData = 0;
      StoreDataTree = 0;
    }
    Session()
    {
      Instruction()
      {
        Text = ["Line Length Judgement",
		" ",
		"Please adjust the bottom line such that it looks equal in length to the middle line of the top figure.",
		" ",
               "You may use the cursor left/right keys for adjustment.",
		" ",  
               "Use the Space-key to signal that adjustment is finished.",
               " ",
               "And now press any key to start."];
      }
    }
    Trial(MuellerLyer:Standard.WingAngle, MuellerLyer:Adjust.BaseLine)
    {
      MuellerLyer:Standard()
      {
        BaseLine = 300;
        WingLine = 100;
        WingAngle = 270;
        LineWidth = 6;
        Orientation = 0;
        LocationX = -200;
        LocationY = screenTop() + 200;
        Timer = de.pxlab.pxl.TimerCodes.NO_TIMER;
      }
      MuellerLyer:Adjust()
      {
        adjustable BaseLine = 500;
        WingLine = 0;
        WingAngle = 270;
        LineWidth = 6;
        Orientation = 0;
        LocationX = 200;
        LocationY = screenBottom() - 200;
        Timer = de.pxlab.pxl.TimerCodes.RESPONSE_TIMER;
        Overlay = de.pxlab.pxl.OverlayCodes.JOIN;
      }
      Feedback()
      {
        FontSize = 32;
        Text = ["Result:\n ",
                "Physical length: %Trial.MuellerLyer:Standard.BaseLine% Pixel",
                "You have set the line to %Trial.MuellerLyer:Adjust.BaseLine% Pixel",
		" ",
		" ",
		"Press any key to go on."];
        Alignment = de.pxlab.pxl.AlignmentCodes.LEFT;
        Timer = de.pxlab.pxl.TimerCodes.RESPONSE_TIMER;
      }
    }
    SessionEnd()
    {
      SessionEndMessage();
    }
  }
  Procedure()
  {
    Session()
    {
      Block()
      {
        Trial(270, 543);
        Trial(90, 234);
      }
    }
  }
}
