{
  "components": {
    "2": {
      "id": "2",
      "type": "lab.flow.Loop",
      "children": [
        "3"
      ],
      "templateParameters": {
        "columns": [
          {
            "name": "participantID",
            "type": "string"
          },
          {
            "name": "",
            "type": "string"
          }
        ],
        "rows": [
          [
            "${this.random.range(10000,100000)}",
            ""
          ]
        ]
      },
      "sample": {
        "mode": "draw-shuffle"
      },
      "files": [],
      "responses": [
        {
          "label": "",
          "event": "",
          "target": "",
          "filter": ""
        }
      ],
      "parameters": [
        {
          "name": "",
          "value": "",
          "type": "string"
        }
      ],
      "messageHandlers": [
        {
          "title": "",
          "message": "",
          "code": ""
        }
      ],
      "title": "mainLoop"
    },
    "3": {
      "id": "3",
      "type": "lab.flow.Sequence",
      "children": [
        "6",
        "12"
      ],
      "files": [],
      "responses": [
        {
          "label": "",
          "event": "",
          "target": "",
          "filter": ""
        }
      ],
      "parameters": [
        {
          "name": "",
          "value": "",
          "type": "string"
        }
      ],
      "messageHandlers": [
        {
          "title": "",
          "message": "",
          "code": ""
        }
      ],
      "title": "mainSequence",
      "_tab": "Behavior",
      "tardy": false
    },
    "4": {
      "id": "4",
      "type": "lab.flow.Sequence",
      "children": [
        "9",
        "10",
        "5",
        "11",
        "10",
        "8"
      ],
      "files": [],
      "responses": [
        {
          "label": "",
          "event": "",
          "target": "",
          "filter": ""
        }
      ],
      "parameters": [
        {
          "name": "",
          "value": "",
          "type": "string"
        }
      ],
      "messageHandlers": [
        {
          "title": "",
          "message": "",
          "code": ""
        }
      ],
      "title": "learningPhase"
    },
    "5": {
      "id": "5",
      "type": "lab.html.Page",
      "items": [
        {
          "required": true,
          "type": "html",
          "content": "<div class = \"content-horizontal-center content-vertical-center\">\n  <h2>${this.parameters.firstListHTML}</h2>\n</div>"
        }
      ],
      "scrollTop": true,
      "submitButtonText": "Continue →",
      "submitButtonPosition": "hidden",
      "files": [],
      "responses": [
        {
          "label": "",
          "event": "",
          "target": "",
          "filter": ""
        }
      ],
      "parameters": [
        {
          "name": "",
          "value": "",
          "type": "string"
        }
      ],
      "messageHandlers": [
        {
          "title": "",
          "message": "",
          "code": ""
        }
      ],
      "title": "firstList",
      "_tab": "Behavior",
      "timeout": "5000"
    },
    "6": {
      "id": "6",
      "type": "lab.flow.Loop",
      "children": [
        "13"
      ],
      "templateParameters": {
        "columns": [],
        "rows": [
          []
        ]
      },
      "sample": {
        "mode": "draw-shuffle"
      },
      "files": [],
      "responses": [
        {
          "label": "",
          "event": "",
          "target": "",
          "filter": ""
        }
      ],
      "parameters": [
        {
          "name": "",
          "value": "",
          "type": "string"
        }
      ],
      "messageHandlers": [
        {
          "title": "",
          "message": "before:prepare",
          "code": "// 1つの単語リストをHTML形式に変換する関数（アロー関数）\nconst listToHTML = (itemList) => {\n  let htmlString = \"<p>\";\n  for (const item of itemList) {\n    htmlString += item + \"<br>\";\n  }\n  htmlString += \"</p>\";\n  return htmlString;\n};\n\n// 2つのリストと条件を受け取り、HTMLと一緒に1件のtrialオブジェクトを返す関数\nconst makeList = (firstList, secondList, condition) => {\n\n  const shuffledFirst = this.random.shuffle(firstList);\n  const shuffledSecond = this.random.shuffle(secondList);\n\n  return [{\n    firstListHTML: listToHTML(shuffledFirst),\n    secondListHTML: listToHTML(shuffledSecond),\n    condition: condition\n  }];\n};\n\n// 参加者番号からセットを決定\nconst participantID = this.parameters.participantID;\nconst set = participantID % 4;\n\n// 単語リスト\nconst listA = [\"Apple\", \"Water\", \"Light\"];\nconst listB = [\"Table\", \"Green\", \"Watch\"];\n\nlet trials = [];\n\n// 条件分岐でリストの順番と条件を決定\nswitch (set) {\n  case 0:\n    trials = makeList(listA, listB, \"remember\");\n    break;\n  case 1:\n    trials = makeList(listB, listA, \"remember\");\n    break;\n  case 2:\n    trials = makeList(listA, listB, \"forget\");\n    break;\n  case 3:\n    trials = makeList(listB, listA, \"forget\");\n    break;\n  default:\n    console.warn(\"予期しない set 値: \" + set);\n    break;\n}\n\n// trial を this.options.templateParameters に追加\nfor (const trial of trials) {\n  this.options.templateParameters.push(trial);\n}\n"
        }
      ],
      "title": "task",
      "_tab": "Scripts",
      "tardy": true
    },
    "8": {
      "id": "8",
      "type": "lab.html.Page",
      "items": [
        {
          "required": true,
          "type": "html",
          "content": "<div class = \"content-horizontal-center content-vertical-center\">\n  <h2>${this.parameters.secondListHTML}</h2>\n</div>"
        }
      ],
      "scrollTop": true,
      "submitButtonText": "Continue →",
      "submitButtonPosition": "hidden",
      "files": [],
      "responses": [
        {
          "label": "",
          "event": "",
          "target": "",
          "filter": ""
        }
      ],
      "parameters": [
        {
          "name": "",
          "value": "",
          "type": "string"
        }
      ],
      "messageHandlers": [
        {
          "title": "",
          "message": "",
          "code": ""
        }
      ],
      "title": "secondList",
      "_tab": "Behavior",
      "timeout": "5000"
    },
    "9": {
      "id": "9",
      "type": "lab.html.Page",
      "items": [
        {
          "type": "text",
          "title": "これから提示される単語を記憶してください！",
          "content": "5秒後に自動的に始まります。"
        }
      ],
      "scrollTop": true,
      "submitButtonText": "Continue →",
      "submitButtonPosition": "hidden",
      "files": [],
      "responses": [
        {
          "label": "",
          "event": "",
          "target": "",
          "filter": ""
        }
      ],
      "parameters": [
        {
          "name": "",
          "value": "",
          "type": "string"
        }
      ],
      "messageHandlers": [
        {
          "title": "",
          "message": "",
          "code": ""
        }
      ],
      "title": "firstListInstruction",
      "_tab": "Content",
      "timeout": "5000"
    },
    "10": {
      "id": "10",
      "type": "lab.html.Page",
      "items": [
        {
          "required": true,
          "type": "html",
          "content": "<div class = \"content-horizontal-center content-vertical-center\">\n  <h2>+</h2>\n</div>"
        }
      ],
      "scrollTop": true,
      "submitButtonText": "Continue →",
      "submitButtonPosition": "hidden",
      "files": [],
      "responses": [
        {
          "label": "",
          "event": "",
          "target": "",
          "filter": ""
        }
      ],
      "parameters": [
        {
          "name": "",
          "value": "",
          "type": "string"
        }
      ],
      "messageHandlers": [
        {
          "title": "",
          "message": "",
          "code": ""
        }
      ],
      "title": "fixation",
      "_tab": "Content",
      "timeout": "1000"
    },
    "11": {
      "id": "11",
      "type": "lab.html.Page",
      "items": [
        {
          "type": "text",
          "title": "${this.parameters.condition == \"remember\"? \"次に提示される単語も記憶してください！\" : \"先ほどの単語は忘れて，これから提示される単語「だけ」を覚えてください！\"}",
          "content": "10秒後に自動的に始まります。"
        }
      ],
      "scrollTop": true,
      "submitButtonText": "Continue →",
      "submitButtonPosition": "hidden",
      "files": [],
      "responses": [
        {
          "label": "",
          "event": "",
          "target": "",
          "filter": ""
        }
      ],
      "parameters": [
        {
          "name": "",
          "value": "",
          "type": "string"
        }
      ],
      "messageHandlers": [
        {
          "title": "",
          "message": "",
          "code": ""
        }
      ],
      "title": "secondListInstruction",
      "_tab": "Content",
      "timeout": "5000"
    },
    "12": {
      "id": "12",
      "type": "lab.html.Page",
      "items": [
        {
          "type": "text",
          "title": "ありがとうございました。",
          "content": "これで実験は終了です。以下の「結果のダウンロード」ボタンを押すと結果をダウンロードできます。"
        }
      ],
      "scrollTop": true,
      "submitButtonText": "結果のダウンロード →",
      "submitButtonPosition": "right",
      "files": [],
      "responses": [
        {
          "label": "",
          "event": "",
          "target": "",
          "filter": ""
        }
      ],
      "parameters": [
        {
          "name": "",
          "value": "",
          "type": "string"
        }
      ],
      "messageHandlers": [
        {
          "title": "",
          "message": "",
          "code": ""
        }
      ],
      "title": "thanks"
    },
    "13": {
      "id": "13",
      "type": "lab.flow.Sequence",
      "children": [
        "4",
        "14"
      ],
      "files": [],
      "responses": [
        {
          "label": "",
          "event": "",
          "target": "",
          "filter": ""
        }
      ],
      "parameters": [
        {
          "name": "",
          "value": "",
          "type": "string"
        }
      ],
      "messageHandlers": [
        {
          "title": "",
          "message": "",
          "code": ""
        }
      ],
      "title": "phases"
    },
    "14": {
      "id": "14",
      "type": "lab.flow.Sequence",
      "children": [
        "15"
      ],
      "files": [],
      "responses": [
        {
          "label": "",
          "event": "",
          "target": "",
          "filter": ""
        }
      ],
      "parameters": [
        {
          "name": "",
          "value": "",
          "type": "string"
        }
      ],
      "messageHandlers": [
        {
          "title": "",
          "message": "",
          "code": ""
        }
      ],
      "title": "recallPhase"
    },
    "15": {
      "id": "15",
      "type": "lab.html.Page",
      "items": [
        {
          "type": "text",
          "title": "この実験中に提示されたすべての単語を思い出して入力してください（30秒以内）。",
          "content": "${this.parameters.condition == \"forget\"? \"＊忘れるよう指示された単語も含めて思い出してください\" : \" \"}"
        },
        {
          "required": false,
          "type": "textarea",
          "label": "回答欄",
          "help": "単語は「，」で区切って入力してください（例. psychology, memory）。",
          "name": "response"
        }
      ],
      "scrollTop": true,
      "submitButtonText": "Continue →",
      "submitButtonPosition": "hidden",
      "files": [],
      "responses": [
        {
          "label": "",
          "event": "",
          "target": "",
          "filter": ""
        }
      ],
      "parameters": [
        {
          "name": "",
          "value": "",
          "type": "string"
        }
      ],
      "messageHandlers": [
        {
          "title": "",
          "message": "end",
          "code": "this.data.response = document.getElementsByName(\"response\")[0].value;"
        }
      ],
      "title": "recall",
      "_tab": "Behavior",
      "timeout": "30000"
    },
    "root": {
      "id": "root",
      "title": "root",
      "type": "lab.flow.Sequence",
      "children": [
        "2"
      ],
      "parameters": [],
      "plugins": [
        {
          "type": "lab.plugins.Metadata"
        }
      ],
      "metadata": {
        "title": "listMethodDirectedForgetting",
        "description": "",
        "repository": "",
        "contributors": "Masanori Kobayashi"
      }
    }
  },
  "version": [
    20,
    2,
    4
  ],
  "files": {
    "files": {
      "index.html": {
        "content": "data:text/html,%3C!doctype%20html%3E%0A%3Chtml%3E%0A%3Chead%3E%0A%20%20%3Cmeta%20charset%3D%22utf-8%22%3E%0A%20%20%3Ctitle%3EExperiment%3C%2Ftitle%3E%0A%20%20%3C!--%20viewport%20setup%20--%3E%0A%20%20%3Cmeta%20name%3D%22viewport%22%20content%3D%22width%3Ddevice-width%2C%20initial-scale%3D1%22%3E%0A%20%20%3C!--%20lab.js%20library%20and%20experiment%20code%20--%3E%0A%20%20%24%7B%20header%20%7D%0A%3C%2Fhead%3E%0A%3Cbody%3E%0A%20%20%3C!--%20If%20you'd%20rather%20have%20a%20container%20with%20a%20fixed%20width%0A%20%20%20%20%20%20%20and%20variable%20height%2C%20try%20removing%20the%20fullscreen%20class%20below%20--%3E%0A%20%20%3Cdiv%20class%3D%22container%20fullscreen%22%20data-labjs-section%3D%22main%22%3E%0A%20%20%20%20%3Cmain%20class%3D%22content-vertical-center%20content-horizontal-center%22%3E%0A%20%20%20%20%20%20%3Cdiv%3E%0A%20%20%20%20%20%20%20%20%3Ch2%3ELoading%20Experiment%3C%2Fh2%3E%0A%20%20%20%20%20%20%20%20%3Cp%3EThe%20experiment%20is%20loading%20and%20should%20start%20in%20a%20few%20seconds%3C%2Fp%3E%0A%20%20%20%20%20%20%3C%2Fdiv%3E%0A%20%20%20%20%3C%2Fmain%3E%0A%20%20%3C%2Fdiv%3E%0A%3C%2Fbody%3E%0A%3C%2Fhtml%3E%0A",
        "source": "library"
      },
      "style.css": {
        "content": "data:text/css,%2F*%20Please%20define%20your%20custom%20styles%20here%20*%2F",
        "source": "library"
      }
    },
    "bundledFiles": {
      "lib/lab.js": {
        "type": "application/javascript"
      },
      "lib/lab.js.map": {
        "type": "text/plain"
      },
      "lib/lab.fallback.js": {
        "type": "application/javascript"
      },
      "lib/lab.legacy.js": {
        "type": "application/javascript"
      },
      "lib/lab.legacy.js.map": {
        "type": "text/plain"
      },
      "lib/lab.css": {
        "type": "text/css"
      },
      "lib/loading.svg": {
        "type": "image/svg+xml"
      }
    }
  }
}