var table; var gamearea; var move_number; window.addEventListener("load", function(){ document.getElementById("start").addEventListener("click", function(){ document.getElementById("message").hidden = true; document.getElementById("thegame").hidden = false; document.getElementById("for-button").hidden = false; if(document.getElementById('optionslist').value !== "2") { new_game("x"); } else if(document.getElementById('optionslist').value == "2") { new_game("O"); } if (document.getElementById('optionslist').value == "1") { alert("Musisz wybrać O albo X!"); location.reload(); } }); }); document.getElementById("restart").addEventListener("click", function() { if(document.getElementById('optionslist').value !== "2") { new_game("x"); } else if(document.getElementById('optionslist').value == "2") { new_game("O"); } }); gamearea = document.getElementById("gamearea"); gamearea.addEventListener("click", function(eventtarget){ if(eventtarget.target.nodeName != "TH" || eventtarget.target.hasAttribute("place")) return false; eventtarget.target.setAttribute("place", gamearea.getAttribute("move")); var move = 1; if(gamearea.getAttribute("move") == "x") { move = -1; gamearea.setAttribute("move", "O"); } else gamearea.setAttribute("move", "x"); move_number++; table[parseInt(eventtarget.target.getAttribute("x"))][parseInt(eventtarget.target.getAttribute("y"))] = move; switch(is_end()) { case false: break; case -1: show_message("Wygrał krzyżyk!"); break; case 1: show_message("Wygrało kółko!"); break; case -2: show_message("Remis"); break; } }); function show_message(areatext) { document.getElementById("areatext").innerHTML = areatext; document.getElementById("whos").innerHTML = "A tym razem?"; gamearea.removeAttribute("move"); document.getElementById("message").removeAttribute("hidden"); document.getElementById("for-button").hidden = true; }; function new_game(begin) { move_number = 0; table = new Array(3); for(var i = 0; i < table.length;i++) { table[i] = new Array(table.length); for(var x = 0; x < table.length; x++) table[i][x] = 0; } var filling_area = gamearea.querySelectorAll("th[place]"); for(var i = 0; i < filling_area.length; i++) filling_area[i].removeAttribute("place"); gamearea.setAttribute("move", begin); }; function is_end() { for(var i = 0; i < 3; i++) { if(Math.abs(table[0][i] + table[1][i] + table[2][i]) == 3) return table[0][i]; if(Math.abs(table[i][0] + table[i][1] + table[i][2]) == 3) return table[i][0]; } if(Math.abs(table[0][0] + table[1][1] + table[2][2]) == 3) return table[0][0]; if(Math.abs(table[0][2] + table[1][1] + table[2][0]) == 3) return table[0][2]; if(move_number >= 9) return -2; return false; }