var W = {}, level = 0, cards = [], captions = [ "Choisissez un nombre parmi ceux affichés ci-dessous, puis cliquez sur le tas dans lequel vous le voyez.", "Veuillez cliquer sur le tas dans lequel se trouve le nombre que vous avez choisi à l'étape précédente.", "Une dernière fois, je vous prie." ]; function init() { W.root = document.getElementById("GAME"); W.root.innerHTML = ""; W.title = document.createElement("div"); W.root.appendChild(W.title); W.text = document.createElement("div"); W.root.appendChild(W.text); W.stacks = document.createElement("div"); W.root.appendChild(W.stacks); level = 0; var n = 9; var i; cards = []; for (i = 0 ; i < 3 * n ; i++) { cards.push(i + 1); } for (i = 0 ; i < 3 * n ; i++) { var k = Math.round(Math.random() * (3 * n - 0.0000001)); var tmp = cards[i]; cards[i] = cards[k]; cards[k] = tmp; } show(); } function show() { if (level < 3) { W.title.innerHTML = "Étape " + (level + 1) + " / 3"; W.text.innerHTML = captions[level]; W.stacks.innerHTML = ""; for (var i=0 ; i<3 ; i++) { addStack(i); } } else { W.root.innerHTML = "
Je devine que votre nombre est le " + cards[Math.floor(cards.length / 2)] + ".
"; var btn = document.createElement("button"); btn.innerHTML = "Recommencer"; btn.addEventListener("click", init, false); W.root.appendChild(btn); } } function addStack(i) { var div = document.createElement("div"); var btn = document.createElement("button"); var txt = ""; for (var k = i ; k < cards.length ; k+=3) { if (txt != "") txt += ", "; txt += cards[k]; } btn.innerHTML = "Tas n°" + (i + 1) + " : " + txt; btn.addEventListener("click", function(){onSelect(i);}, false); div.appendChild(btn); W.stacks.appendChild(div); } function onSelect(i) { var a = 0, b = 2; if (i == 0) a = 1; else if (i == 2) b = 1; var indexes = [a, i, b]; var result = []; for (var k = 0 ; k < 3 ; k++) { var idx = indexes[k]; for (var j = idx ; j < cards.length ; j+=3) { result.push(cards[j]); } } cards = result; level++; show(); }