Advent of code

 12 décembre 2015 

  JSAbacusFramework.io :
  1. codeVimEtBash.sh
  2. codeJavaScript.html
  3. codePython.py
  4. codePython_parseurMaison.py
<html>
  <head>
  <title>Advent of Code 2015 / 12 : solution Anceps</title>
  <meta charset="utf8">
  <script>

"use strict"
var input = [{"a":{"e":{   ...   23],"g":199,"f":76}]]]];

function evalNoRed(t, noRed=false) {
        if (typeof t == "object") {   // marche pour tableaux et objets !
                let somme = 0;
                for (let key in t) {
                        let value = t[key];
                        if (noRed && ! Array.isArray(t)) {
                                // perdu 1 heure parce que j'avais mis «value == "red"» et que JScript renvoie vrai pour «["red"] == "red"»...
                                if (value === "red") {
                                        somme = 0;
                                        break;
                                }
                                //somme += evalNoRed(key);   // inutile car pas de nombre comme index dans les objets
                        }
                        somme += evalNoRed(value, noRed);
                }
                return somme;
        } else if ((typeof t) == "number") {
                return t;
        } else {
                return 0;

        }
}

  </script>
  </head>
  <body>
          <h1>Advent of Code 2015 / 12</h1>
          <pre><script>
document.writeln("Réponse partie 1&nbsp;: " + evalNoRed(input));
document.writeln("Réponse partie 2&nbsp;: " + evalNoRed(input, noRed=true));
          </script></pre>
  </body>
</html>