{
  "name": "Lobos y ovejas: dinamica de poblaciones",
  "savedAt": "2026-07-15T13:00:00.000000",
  "blocks": [
    { "def": {"template": "{0} = {1}", "category": "variables", "slots": [{"options": []}, {"options": []}], "isContainer": false, "isReporter": false}, "values": ["maxOvejas", "40"], "children": [] },
    { "def": {"template": "{0} = {1}", "category": "variables", "slots": [{"options": []}, {"options": []}], "isContainer": false, "isReporter": false}, "values": ["ovejas", "[]"], "children": [] },
    { "def": {"template": "{0} = {1}", "category": "variables", "slots": [{"options": []}, {"options": []}], "isContainer": false, "isReporter": false}, "values": ["ovejasVivas", "[]"], "children": [] },
    { "def": {"template": "{0} = {1}", "category": "variables", "slots": [{"options": []}, {"options": []}], "isContainer": false, "isReporter": false}, "values": ["lobos", "[]"], "children": [] },
    { "def": {"template": "{0} = {1}", "category": "variables", "slots": [{"options": []}, {"options": []}], "isContainer": false, "isReporter": false}, "values": ["lobosVivos", "[]"], "children": [] },
    { "def": {"template": "{0} = {1}", "category": "variables", "slots": [{"options": []}, {"options": []}], "isContainer": false, "isReporter": false}, "values": ["lobosEnergia", "[]"], "children": [] },
    { "def": {"template": "random_seed({0})", "category": "variables", "slots": [{"options": []}], "isContainer": false, "isReporter": false}, "values": ["2"], "children": [] },

    { "def": {"template": "for {0} in range({1}):", "category": "control", "slots": [{"options": []}, {"options": []}], "isContainer": true, "isReporter": false}, "values": ["i", "12"], "children": [
      { "def": {"template": "{0} = {1}", "category": "variables", "slots": [{"options": []}, {"options": []}], "isContainer": false, "isReporter": false}, "values": ["oveja", "Turtle()"], "children": [] },
      { "def": {"template": "{0}.shape({1})", "category": "tortuga", "slots": [{"options": []}, {"options": []}], "isContainer": false, "isReporter": false}, "values": ["oveja", "\"sheep\""], "children": [] },
      { "def": {"template": "{0}.goto({1}, {2})", "category": "tortuga", "slots": [{"options": []}, {"options": []}, {"options": []}], "isContainer": false, "isReporter": false}, "values": ["oveja", "randint(-140, 140)", "randint(-140, 140)"], "children": [] },
      { "def": {"template": "{0}.append({1})", "category": "variables", "slots": [{"options": []}, {"options": []}], "isContainer": false, "isReporter": false}, "values": ["ovejas", "oveja"], "children": [] },
      { "def": {"template": "{0}.append({1})", "category": "variables", "slots": [{"options": []}, {"options": []}], "isContainer": false, "isReporter": false}, "values": ["ovejasVivas", "True"], "children": [] }
    ]},

    { "def": {"template": "for {0} in range({1}):", "category": "control", "slots": [{"options": []}, {"options": []}], "isContainer": true, "isReporter": false}, "values": ["j", "5"], "children": [
      { "def": {"template": "{0} = {1}", "category": "variables", "slots": [{"options": []}, {"options": []}], "isContainer": false, "isReporter": false}, "values": ["lobo", "Turtle()"], "children": [] },
      { "def": {"template": "{0}.shape({1})", "category": "tortuga", "slots": [{"options": []}, {"options": []}], "isContainer": false, "isReporter": false}, "values": ["lobo", "\"wolf\""], "children": [] },
      { "def": {"template": "{0}.goto({1}, {2})", "category": "tortuga", "slots": [{"options": []}, {"options": []}, {"options": []}], "isContainer": false, "isReporter": false}, "values": ["lobo", "randint(-140, 140)", "randint(-140, 140)"], "children": [] },
      { "def": {"template": "{0}.append({1})", "category": "variables", "slots": [{"options": []}, {"options": []}], "isContainer": false, "isReporter": false}, "values": ["lobos", "lobo"], "children": [] },
      { "def": {"template": "{0}.append({1})", "category": "variables", "slots": [{"options": []}, {"options": []}], "isContainer": false, "isReporter": false}, "values": ["lobosVivos", "True"], "children": [] },
      { "def": {"template": "{0}.append({1})", "category": "variables", "slots": [{"options": []}, {"options": []}], "isContainer": false, "isReporter": false}, "values": ["lobosEnergia", "25"], "children": [] }
    ]},

    { "def": {"template": "{0} = {1}", "category": "variables", "slots": [{"options": []}, {"options": []}], "isContainer": false, "isReporter": false}, "values": ["contador", "0"], "children": [] },

    { "def": {"template": "while {0}:", "category": "control", "slots": [{"options": []}], "isContainer": true, "isReporter": false}, "values": ["True"], "children": [
      { "def": {"template": "{0} = {1}", "category": "variables", "slots": [{"options": []}, {"options": []}], "isContainer": false, "isReporter": false}, "values": ["contador", "contador + 1"], "children": [] },
      { "def": {"template": "{0} = {1}", "category": "variables", "slots": [{"options": []}, {"options": []}], "isContainer": false, "isReporter": false}, "values": ["radioCaza", "slider(\"radio_caza\", 5, 40, 20)"], "children": [] },
      { "def": {"template": "{0} = {1}", "category": "variables", "slots": [{"options": []}, {"options": []}], "isContainer": false, "isReporter": false}, "values": ["probReproduccion", "slider(\"prob_reproduccion\", 0, 30, 5) / 100"], "children": [] },

      { "def": {"template": "{0} = {1}", "category": "variables", "slots": [{"options": []}, {"options": []}], "isContainer": false, "isReporter": false}, "values": ["i", "0"], "children": [] },
      { "def": {"template": "while {0}:", "category": "control", "slots": [{"options": []}], "isContainer": true, "isReporter": false}, "values": ["i < len(ovejas)"], "children": [
        { "def": {"template": "if {0}:", "category": "control", "slots": [{"options": []}], "isContainer": true, "isReporter": false}, "values": ["ovejasVivas[i]"], "children": [
          { "def": {"template": "{0} = {1}", "category": "variables", "slots": [{"options": []}, {"options": []}], "isContainer": false, "isReporter": false}, "values": ["oveja", "ovejas[i]"], "children": [] },
          { "def": {"template": "{0}.setheading({1})", "category": "tortuga", "slots": [{"options": []}, {"options": []}], "isContainer": false, "isReporter": false}, "values": ["oveja", "randint(0, 359)"], "children": [] },
          { "def": {"template": "{0}.forward({1})", "category": "tortuga", "slots": [{"options": []}, {"options": []}], "isContainer": false, "isReporter": false}, "values": ["oveja", "6"], "children": [] },
          { "def": {"template": "if {0}:", "category": "control", "slots": [{"options": []}], "isContainer": true, "isReporter": false}, "values": ["random() < probReproduccion and len(ovejas) < maxOvejas"], "children": [
            { "def": {"template": "{0} = {1}", "category": "variables", "slots": [{"options": []}, {"options": []}], "isContainer": false, "isReporter": false}, "values": ["nueva", "Turtle()"], "children": [] },
            { "def": {"template": "{0}.shape({1})", "category": "tortuga", "slots": [{"options": []}, {"options": []}], "isContainer": false, "isReporter": false}, "values": ["nueva", "\"sheep\""], "children": [] },
            { "def": {"template": "{0}.goto({1}, {2})", "category": "tortuga", "slots": [{"options": []}, {"options": []}, {"options": []}], "isContainer": false, "isReporter": false}, "values": ["nueva", "oveja.xcor()", "oveja.ycor()"], "children": [] },
            { "def": {"template": "{0}.append({1})", "category": "variables", "slots": [{"options": []}, {"options": []}], "isContainer": false, "isReporter": false}, "values": ["ovejas", "nueva"], "children": [] },
            { "def": {"template": "{0}.append({1})", "category": "variables", "slots": [{"options": []}, {"options": []}], "isContainer": false, "isReporter": false}, "values": ["ovejasVivas", "True"], "children": [] }
          ]}
        ]},
        { "def": {"template": "{0} = {1}", "category": "variables", "slots": [{"options": []}, {"options": []}], "isContainer": false, "isReporter": false}, "values": ["i", "i + 1"], "children": [] }
      ]},

      { "def": {"template": "{0} = {1}", "category": "variables", "slots": [{"options": []}, {"options": []}], "isContainer": false, "isReporter": false}, "values": ["j", "0"], "children": [] },
      { "def": {"template": "while {0}:", "category": "control", "slots": [{"options": []}], "isContainer": true, "isReporter": false}, "values": ["j < len(lobos)"], "children": [
        { "def": {"template": "if {0}:", "category": "control", "slots": [{"options": []}], "isContainer": true, "isReporter": false}, "values": ["lobosVivos[j]"], "children": [
          { "def": {"template": "{0} = {1}", "category": "variables", "slots": [{"options": []}, {"options": []}], "isContainer": false, "isReporter": false}, "values": ["lobo", "lobos[j]"], "children": [] },
          { "def": {"template": "{0} = {1}", "category": "variables", "slots": [{"options": []}, {"options": []}], "isContainer": false, "isReporter": false}, "values": ["radioDeteccion", "radioCaza * 3"], "children": [] },
          { "def": {"template": "{0} = {1}", "category": "variables", "slots": [{"options": []}, {"options": []}], "isContainer": false, "isReporter": false}, "values": ["mejorDist", "radioDeteccion"], "children": [] },
          { "def": {"template": "{0} = {1}", "category": "variables", "slots": [{"options": []}, {"options": []}], "isContainer": false, "isReporter": false}, "values": ["objetivoIdx", "-1"], "children": [] },
          { "def": {"template": "{0} = {1}", "category": "variables", "slots": [{"options": []}, {"options": []}], "isContainer": false, "isReporter": false}, "values": ["k", "0"], "children": [] },
          { "def": {"template": "while {0}:", "category": "control", "slots": [{"options": []}], "isContainer": true, "isReporter": false}, "values": ["k < len(ovejas)"], "children": [
            { "def": {"template": "if {0}:", "category": "control", "slots": [{"options": []}], "isContainer": true, "isReporter": false}, "values": ["ovejasVivas[k]"], "children": [
              { "def": {"template": "{0} = {1}", "category": "variables", "slots": [{"options": []}, {"options": []}], "isContainer": false, "isReporter": false}, "values": ["d", "lobo.distance(ovejas[k])"], "children": [] },
              { "def": {"template": "if {0}:", "category": "control", "slots": [{"options": []}], "isContainer": true, "isReporter": false}, "values": ["d < mejorDist"], "children": [
                { "def": {"template": "{0} = {1}", "category": "variables", "slots": [{"options": []}, {"options": []}], "isContainer": false, "isReporter": false}, "values": ["mejorDist", "d"], "children": [] },
                { "def": {"template": "{0} = {1}", "category": "variables", "slots": [{"options": []}, {"options": []}], "isContainer": false, "isReporter": false}, "values": ["objetivoIdx", "k"], "children": [] }
              ]}
            ]},
            { "def": {"template": "{0} = {1}", "category": "variables", "slots": [{"options": []}, {"options": []}], "isContainer": false, "isReporter": false}, "values": ["k", "k + 1"], "children": [] }
          ]},
          { "def": {"template": "if {0}:", "category": "control", "slots": [{"options": []}], "isContainer": true, "isReporter": false}, "values": ["objetivoIdx >= 0"], "children": [
            { "def": {"template": "{0} = {1}", "category": "variables", "slots": [{"options": []}, {"options": []}], "isContainer": false, "isReporter": false}, "values": ["objetivo", "ovejas[objetivoIdx]"], "children": [] },
            { "def": {"template": "{0}.setheading({1})", "category": "tortuga", "slots": [{"options": []}, {"options": []}], "isContainer": false, "isReporter": false}, "values": ["lobo", "lobo.towards(objetivo)"], "children": [] }
          ]},
          { "def": {"template": "else:", "category": "control", "slots": [], "isContainer": true, "isReporter": false}, "values": [], "children": [
            { "def": {"template": "{0}.setheading({1})", "category": "tortuga", "slots": [{"options": []}, {"options": []}], "isContainer": false, "isReporter": false}, "values": ["lobo", "randint(0, 359)"], "children": [] }
          ]},
          { "def": {"template": "{0}.forward({1})", "category": "tortuga", "slots": [{"options": []}, {"options": []}], "isContainer": false, "isReporter": false}, "values": ["lobo", "8"], "children": [] },
          { "def": {"template": "{0}[{1}] = {2}", "category": "variables", "slots": [{"options": []}, {"options": []}, {"options": []}], "isContainer": false, "isReporter": false}, "values": ["lobosEnergia", "j", "lobosEnergia[j] - 1"], "children": [] },
          { "def": {"template": "{0} = {1}", "category": "variables", "slots": [{"options": []}, {"options": []}], "isContainer": false, "isReporter": false}, "values": ["k2", "0"], "children": [] },
          { "def": {"template": "while {0}:", "category": "control", "slots": [{"options": []}], "isContainer": true, "isReporter": false}, "values": ["k2 < len(ovejas)"], "children": [
            { "def": {"template": "if {0}:", "category": "control", "slots": [{"options": []}], "isContainer": true, "isReporter": false}, "values": ["ovejasVivas[k2]"], "children": [
              { "def": {"template": "if {0}:", "category": "control", "slots": [{"options": []}], "isContainer": true, "isReporter": false}, "values": ["lobo.distance(ovejas[k2]) < radioCaza"], "children": [
                { "def": {"template": "{0} = {1}", "category": "variables", "slots": [{"options": []}, {"options": []}], "isContainer": false, "isReporter": false}, "values": ["ovejaCazada", "ovejas[k2]"], "children": [] },
                { "def": {"template": "{0}[{1}] = {2}", "category": "variables", "slots": [{"options": []}, {"options": []}, {"options": []}], "isContainer": false, "isReporter": false}, "values": ["ovejasVivas", "k2", "False"], "children": [] },
                { "def": {"template": "{0}.hideturtle()", "category": "tortuga", "slots": [{"options": []}], "isContainer": false, "isReporter": false}, "values": ["ovejaCazada"], "children": [] },
                { "def": {"template": "{0}[{1}] = {2}", "category": "variables", "slots": [{"options": []}, {"options": []}, {"options": []}], "isContainer": false, "isReporter": false}, "values": ["lobosEnergia", "j", "30"], "children": [] }
              ]}
            ]},
            { "def": {"template": "{0} = {1}", "category": "variables", "slots": [{"options": []}, {"options": []}], "isContainer": false, "isReporter": false}, "values": ["k2", "k2 + 1"], "children": [] }
          ]},
          { "def": {"template": "if {0}:", "category": "control", "slots": [{"options": []}], "isContainer": true, "isReporter": false}, "values": ["lobosEnergia[j] <= 0"], "children": [
            { "def": {"template": "{0}[{1}] = {2}", "category": "variables", "slots": [{"options": []}, {"options": []}, {"options": []}], "isContainer": false, "isReporter": false}, "values": ["lobosVivos", "j", "False"], "children": [] },
            { "def": {"template": "{0}.hideturtle()", "category": "tortuga", "slots": [{"options": []}], "isContainer": false, "isReporter": false}, "values": ["lobo"], "children": [] }
          ]}
        ]},
        { "def": {"template": "{0} = {1}", "category": "variables", "slots": [{"options": []}, {"options": []}], "isContainer": false, "isReporter": false}, "values": ["j", "j + 1"], "children": [] }
      ]},

      { "def": {"template": "{0} = {1}", "category": "variables", "slots": [{"options": []}, {"options": []}], "isContainer": false, "isReporter": false}, "values": ["nOvejasVivas", "0"], "children": [] },
      { "def": {"template": "{0} = {1}", "category": "variables", "slots": [{"options": []}, {"options": []}], "isContainer": false, "isReporter": false}, "values": ["m", "0"], "children": [] },
      { "def": {"template": "while {0}:", "category": "control", "slots": [{"options": []}], "isContainer": true, "isReporter": false}, "values": ["m < len(ovejasVivas)"], "children": [
        { "def": {"template": "if {0}:", "category": "control", "slots": [{"options": []}], "isContainer": true, "isReporter": false}, "values": ["ovejasVivas[m]"], "children": [
          { "def": {"template": "{0} = {1}", "category": "variables", "slots": [{"options": []}, {"options": []}], "isContainer": false, "isReporter": false}, "values": ["nOvejasVivas", "nOvejasVivas + 1"], "children": [] }
        ]},
        { "def": {"template": "{0} = {1}", "category": "variables", "slots": [{"options": []}, {"options": []}], "isContainer": false, "isReporter": false}, "values": ["m", "m + 1"], "children": [] }
      ]},

      { "def": {"template": "{0} = {1}", "category": "variables", "slots": [{"options": []}, {"options": []}], "isContainer": false, "isReporter": false}, "values": ["nLobosVivos", "0"], "children": [] },
      { "def": {"template": "{0} = {1}", "category": "variables", "slots": [{"options": []}, {"options": []}], "isContainer": false, "isReporter": false}, "values": ["n2", "0"], "children": [] },
      { "def": {"template": "while {0}:", "category": "control", "slots": [{"options": []}], "isContainer": true, "isReporter": false}, "values": ["n2 < len(lobosVivos)"], "children": [
        { "def": {"template": "if {0}:", "category": "control", "slots": [{"options": []}], "isContainer": true, "isReporter": false}, "values": ["lobosVivos[n2]"], "children": [
          { "def": {"template": "{0} = {1}", "category": "variables", "slots": [{"options": []}, {"options": []}], "isContainer": false, "isReporter": false}, "values": ["nLobosVivos", "nLobosVivos + 1"], "children": [] }
        ]},
        { "def": {"template": "{0} = {1}", "category": "variables", "slots": [{"options": []}, {"options": []}], "isContainer": false, "isReporter": false}, "values": ["n2", "n2 + 1"], "children": [] }
      ]},

      { "def": {"template": "plot({0}, {1})", "category": "salida", "slots": [{"options": []}, {"options": []}], "isContainer": false, "isReporter": false}, "values": ["\"ovejas\"", "nOvejasVivas"], "children": [] },
      { "def": {"template": "plot({0}, {1})", "category": "salida", "slots": [{"options": []}, {"options": []}], "isContainer": false, "isReporter": false}, "values": ["\"lobos\"", "nLobosVivos"], "children": [] },
      { "def": {"template": "plot_xy({0}, {1}, {2})", "category": "salida", "slots": [{"options": []}, {"options": []}, {"options": []}], "isContainer": false, "isReporter": false}, "values": ["\"fase\"", "nOvejasVivas", "nLobosVivos"], "children": [] },

      { "def": {"template": "{0} = {1}", "category": "variables", "slots": [{"options": []}, {"options": []}], "isContainer": false, "isReporter": false}, "values": ["energiasVivas", "[]"], "children": [] },
      { "def": {"template": "{0} = {1}", "category": "variables", "slots": [{"options": []}, {"options": []}], "isContainer": false, "isReporter": false}, "values": ["p", "0"], "children": [] },
      { "def": {"template": "while {0}:", "category": "control", "slots": [{"options": []}], "isContainer": true, "isReporter": false}, "values": ["p < len(lobos)"], "children": [
        { "def": {"template": "if {0}:", "category": "control", "slots": [{"options": []}], "isContainer": true, "isReporter": false}, "values": ["lobosVivos[p]"], "children": [
          { "def": {"template": "{0}.append({1})", "category": "variables", "slots": [{"options": []}, {"options": []}], "isContainer": false, "isReporter": false}, "values": ["energiasVivas", "lobosEnergia[p]"], "children": [] }
        ]},
        { "def": {"template": "{0} = {1}", "category": "variables", "slots": [{"options": []}, {"options": []}], "isContainer": false, "isReporter": false}, "values": ["p", "p + 1"], "children": [] }
      ]},
      { "def": {"template": "histogram({0}, {1})", "category": "salida", "slots": [{"options": []}, {"options": []}], "isContainer": false, "isReporter": false}, "values": ["\"energia_lobos\"", "energiasVivas"], "children": [] },

      { "def": {"template": "monitor({0}, {1})", "category": "salida", "slots": [{"options": []}, {"options": []}], "isContainer": false, "isReporter": false}, "values": ["\"paso\"", "contador"], "children": [] },
      { "def": {"template": "monitor({0}, {1})", "category": "salida", "slots": [{"options": []}, {"options": []}], "isContainer": false, "isReporter": false}, "values": ["\"ovejas_vivas\"", "nOvejasVivas"], "children": [] },
      { "def": {"template": "monitor({0}, {1})", "category": "salida", "slots": [{"options": []}, {"options": []}], "isContainer": false, "isReporter": false}, "values": ["\"lobos_vivos\"", "nLobosVivos"], "children": [] }
    ]}
  ]
}
