Topographische Karten Solver

löst topographische rätsel in freewar, bei fragen bei Baum (w1) melden

HTML

<html>

  <head>

  </head>

  <body>
    Topographische Kartensolver von Baum:<br> Nur ungerade Zahlen bitte angeben, Felder sind per klick zwischen Berg und Unbekannt änderbar.<br> Wasser und sonstige Felder wie der Vulkan werden nicht berücksichtigt. <br>Wer zu doof ist die nicht zu finden ist
    selbst schuld ¯\_(ツ)_/¯. <br>
    <input placeholder="größe" id="size"><button onclick="generate()">
generiere karte
</button>
    <button onclick="getpositions()">
lößbare positionen
</button>
    <div id="output">

    </div>
    <table id="maptable" style="border-collapse: collapse;">

    </table>
  </body>

</html>

JavaScript

function generate() {
  document.getElementById("maptable").innerHTML = "";
  var amt = parseInt(document.getElementById("size").value)
  if (isNaN(amt) || amt % 2 == 0) {
    alert("nur ungerade zahlen bitte!");
    return;
  }
  for (var i = 0; i < amt; i++) {
    var newtr = document.createElement("tr");
    newtr.style = 'padding: 0px; margin: 0px; border: none;line-height:0;'
    document.getElementById("maptable").appendChild(newtr)
    for (var j = 0; j < amt; j++) {
      var img = document.createElement("img");
      img.src = 'http://www.welt1.freewar.de/freewar/images/map/std.jpg'
      img.onclick = handleimage;
      newtr.appendChild(img)
    }
  }
}

function getpositions() {
  var maparr = []
  var trs = document.getElementById("maptable").getElementsByTagName("tr");
  for (let tr of trs) {
    var trarr = []
    var trimgs = tr.getElementsByTagName("img");
    for (let img of trimgs) {
      if (img.src == 'http://www.welt1.freewar.de/freewar/images/map/std.jpg') {
        trarr.push(0);
      } else {
        trarr.push(1);
      }

    }
    maparr.push(trarr)

  }
  var positions = chechfield(maparr);
  document.getElementById("output").innerHTML = "";
  var out = "Folgene Positionen wurden gefunden:";
  for (let posout of positions) {
    out += "\n" + posout;
  }
  document.getElementById("output").innerText = out;
}

function handleimage() {
  if (this.src == 'http://www.welt1.freewar.de/freewar/images/map/std.jpg') {
    this.src = 'http://welt1.freewar.de/freewar/images/map/47_Ins.jpg'
  } else {
    this.src = 'http://www.welt1.freewar.de/freewar/images/map/std.jpg'
  }
}

function chechfield(arr) {
  foundstuff = [];
  var middley = Math.floor(arr.length / 2)
  var middlex = Math.floor(arr[0].length / 2)
  for (let pos of fields) {
    var found = true;
    let xko = parseInt(pos.split(",")[0])
    let yko = parseInt(pos.split(",")[1])
    for (var y = 0; y < arr.length; y++) {
      for (var x = 0; x < arr[0].length; x++) {
        if...