{
  "Version": 2,
  "Nodes": [
    {
      "Id": "start1",
      "Type": "StartNode",
      "Params": {
        "zielFenster": "Vier gewinnt",
        "__x": 20,
        "__y": 310
      }
    },
    {
      "Id": "matrix1",
      "Type": "GridReadNode",
      "Params": {
        "rows": 6,
        "cols": 7,
        "x": 200,
        "y": 120,
        "w": 560,
        "h": 480,
        "modus": "farbe",
        "palette": "rot=#D02020\ngelb=#E0C000\nleer=#202020",
        "toleranz": 60,
        "sampleSize": 6,
        "__x": 220,
        "__y": 310
      }
    },
    {
      "Id": "win1",
      "Type": "MatrixLineNode",
      "Params": {
        "wert": "rot",
        "laenge": 4,
        "richtungen": "alle",
        "luecken": 1,
        "frei": "leer",
        "schwerkraft": true,
        "__x": 460,
        "__y": 200
      }
    },
    {
      "Id": "block1",
      "Type": "MatrixLineNode",
      "Params": {
        "wert": "gelb",
        "laenge": 4,
        "richtungen": "alle",
        "luecken": 1,
        "frei": "leer",
        "schwerkraft": true,
        "__x": 460,
        "__y": 400
      }
    },
    {
      "Id": "free1",
      "Type": "MatrixForEachNode",
      "Params": {
        "filter": "leer",
        "reihenfolge": "zufall",
        "__x": 460,
        "__y": 600
      }
    },
    {
      "Id": "click1",
      "Type": "ClickNode",
      "Params": {
        "bewegen": true,
        "profil": "menschlich",
        "nachWarten": 500,
        "einheit": "ms",
        "__x": 760,
        "__y": 200
      }
    },
    {
      "Id": "click2",
      "Type": "ClickNode",
      "Params": {
        "bewegen": true,
        "profil": "menschlich",
        "nachWarten": 500,
        "einheit": "ms",
        "__x": 760,
        "__y": 400
      }
    },
    {
      "Id": "click3",
      "Type": "ClickNode",
      "Params": {
        "bewegen": true,
        "profil": "menschlich",
        "nachWarten": 500,
        "einheit": "ms",
        "__x": 760,
        "__y": 600
      }
    },
    {
      "Id": "log1",
      "Type": "LogNode",
      "Params": {
        "message": "Gewinnzug bei Spalte {Reihe finden.spalte} ({Reihe finden.richtung})",
        "__x": 1000,
        "__y": 200
      }
    },
    {
      "Id": "log2",
      "Type": "LogNode",
      "Params": {
        "message": "Blocke Gelb bei Spalte {Reihe finden 2.spalte}",
        "__x": 1000,
        "__y": 400
      }
    }
  ],
  "Exec": [
    {
      "FromNode": "start1",
      "FromPort": "out",
      "ToNode": "matrix1"
    },
    {
      "FromNode": "matrix1",
      "FromPort": "out",
      "ToNode": "win1"
    },
    {
      "FromNode": "win1",
      "FromPort": "gefunden",
      "ToNode": "click1"
    },
    {
      "FromNode": "win1",
      "FromPort": "nichtgefunden",
      "ToNode": "block1"
    },
    {
      "FromNode": "block1",
      "FromPort": "gefunden",
      "ToNode": "click2"
    },
    {
      "FromNode": "block1",
      "FromPort": "nichtgefunden",
      "ToNode": "free1"
    },
    {
      "FromNode": "free1",
      "FromPort": "body",
      "ToNode": "click3"
    },
    {
      "FromNode": "click1",
      "FromPort": "out",
      "ToNode": "log1"
    },
    {
      "FromNode": "click2",
      "FromPort": "out",
      "ToNode": "log2"
    }
  ],
  "Data": [
    {
      "FromNode": "matrix1",
      "FromPort": "matrix",
      "ToNode": "win1",
      "ToPort": "matrix"
    },
    {
      "FromNode": "matrix1",
      "FromPort": "matrix",
      "ToNode": "block1",
      "ToPort": "matrix"
    },
    {
      "FromNode": "matrix1",
      "FromPort": "matrix",
      "ToNode": "free1",
      "ToPort": "matrix"
    },
    {
      "FromNode": "win1",
      "FromPort": "x",
      "ToNode": "click1",
      "ToPort": "x"
    },
    {
      "FromNode": "win1",
      "FromPort": "y",
      "ToNode": "click1",
      "ToPort": "y"
    },
    {
      "FromNode": "block1",
      "FromPort": "x",
      "ToNode": "click2",
      "ToPort": "x"
    },
    {
      "FromNode": "block1",
      "FromPort": "y",
      "ToNode": "click2",
      "ToPort": "y"
    },
    {
      "FromNode": "free1",
      "FromPort": "x",
      "ToNode": "click3",
      "ToPort": "x"
    },
    {
      "FromNode": "free1",
      "FromPort": "y",
      "ToNode": "click3",
      "ToPort": "y"
    }
  ]
}
